关于Json的总结

作者: 小明yz | 来源:发表于2017-06-22 08:44 被阅读132次

一、什么是Json?

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。

同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999

的一个子集。 JSON采用完全独立于程序语言的文本格式,但是也使用了类C语言的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。

这些特性使JSON成为理想的数据交换语言。

Json的两种结构

1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。

例如:var user = {"name":"Manas","gender":"Male","birthday":"1987-8-8"}

2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

例如:var userlist = [

{"user":{"name":"Manas","gender":"Male","birthday":"1987-8-8"}},

{"user":{"name":"Mohapatra","Male":"Female","birthday":"1987-7-7"}}

]

二、Json的用途

主要用于数据的传输,还可以作为程序的配置文件。

三、C#中操作Json

1、Json序列化

public string GetJsonString()

{

List products = new List(){

new Product(){Name="苹果",Price=5.5},

new Product(){Name="橘子",Price=2.5},

new Product(){Name="干柿子",Price=16.00}

};

ProductList productlist = new ProductList();

productlist.GetProducts = products;

//return new JavaScriptSerializer().Serialize(productlist));

return JsonConvert.SerializeObject(productlist);

}

public class Product

{

public string Name { get; set; }

public double Price { get; set; }

}

public class ProductList

{

public List GetProducts { get; set; }

}

生成结果:{"GetProducts":[{"Name":"苹果","Price":5.5},{"Name":"橘子","Price":2.5},{"Name":"柿子","Price":16}]}

2、Json反序列化

string json = @"{

'Name': 'Bad Boys',

'ReleaseDate': '1995-4-7T00:00:00',

'Genres': [

'Action',

'Comedy'

]

}";

Movie m = JsonConvert.DeserializeObject(json);

string name = m.Name; //name 为 Bad Boys

四、Json和Xml的比较

XML

1)应用广泛,可扩展性强,被广泛应用各种场合

2)读取、解析没有JSON快

3)可读性强,可描述复杂结构

JSON

1)结构简单,都是键值对。

2)读取、解析速度快,很多语言支持

3)传输数据量小,传输速率大大提高

4)描述复杂结构能力较弱

JavaScript、PHP等原生支持,简化了读取解析。成为当前互联网时代普遍应用的数据结构

欢迎关注我的公众号(同步更新文章):DoNet技术分享平台

阅读原文

相关文章

  • 【工作代码】复杂 JSON 值替换处理

    总结下最近的工作遇到的点: 入参复杂 JSON 层层嵌套,Java 怎么优雅的处理。 一、关于 JSON JSON...

  • 关于Json的总结

    一、什么是Json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式...

  • 当 Json 遇到 Map

    前言 了解一下日常开发中关于 Json 解析的一些非常规用法,以及使用 fastjson 的一些总结。 Json ...

  • json-1008

    json入门json实验json在项目中的应用总结 json练习题 json解析练习

  • JavaScript对象表示法,JSON

    关于JSON JSON:JavaScriptObjectNotation(Java 对象表示法) JSON 是存储...

  • 类型转换函数

    JSON.stringify()和JSON.parse 总结:JSON.stringify()可以把数组转化为字符...

  • MySQL的json数据类型常用操作

    数据库表和数据 JSON_SEARCH 总结:JSON_SEARCH(json_val, 'one', '6') ...

  • AFN Code=-1011 "Request fai

    关于Code = -1011问题 网上的解释各不相同 有的总结的是你返回的数据不是json 所以response...

  • JSON和JSONP

    什么JSON JSON的优点 JSON的格式 什么是JSONP JSONP的工作原理 1. 2. 4 总结

  • 关于json序列化

    关于json序列化(javaBean转Json的细节处理) json序列化(javaBean转Json的细节) J...

网友评论

    本文标题:关于Json的总结

    本文链接:https://www.haomeiwen.com/subject/usmxcxtx.html