Json
1.什么是JSON,
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言。
好处:
易于人阅读和编写,同时也易于机器解析和网络传输比较快。
2.JSON是干什么的?
以一种文本的形式把数据的序列化,方便数据存储和网络传输
3.JSON的写法,语法格式。
3.1 必须包含的元素: {}(大括号) [](中括号) ""(双引号) :(冒号) ,(逗号)
3.2 { } 表示一个对象。
例如一个人:{"name":"笔圣","age":24,"sex":"male","school":"ycu",……"wife":{}}
3.3表示数据(对象)的集合
例如问候语数据:["Hello","你好",30,“笔圣" ]
[12,32,435]
3.4互相嵌套
方式1:{"name":"1403A",“peoplesNum":27,"peoplesDetail":[{"name":"笔圣","age":24,"sex":"male","school":"运城学院"} ,{},{},……] }
方式2:[{},{},{},{}]
json例子:
{
"name": "BeJson",
"url": "http://www.bejson.com",
"page": 88,
"isNonProfit": true,
"address": {
"street": "清华园路.",
"city": "北京",
"country": "中国"
},
"links": [
{
"name": "Google",
"url": "http://www.google.com"
},
{
"name": "Baidu",
"url": "http://www.baidu.com"
},
{
"name": "SoSo",
"url": "http://www.SoSo.com"
}
]
}
4.处理JSON的C#的类库
最常用的有两种:LitJson和MiniJson
3.1 LitJSON
说明: (其中用到了反射的技术, 如果是在一个需要在apple的应用商店里发布的项目中就不应该用LitJSON,为什么呢,因为苹果审核项目的时候,会要求不能用反射技术。)
API:
string jsonStr = JSONMapper.toJson(Object obj)
T t= JsonMapper.toObject<T>()
JSONData data= JsonMapper.toObject
JSONData
3.2 MiniJSON
API:
MinIJSON.Serialize
MIniJSON.Deserilize
注意:
MiniJson,用List <Object> 和Dictionary<string,object> 的嵌套来形成数据的结构
5.JSON和XML的区别和相同点
5.1都是被广泛利用的一种描述数据的格式。
5.2都方便人的阅读。
编码的可读性,xml有明显的优势,毕竟人类的语言更贴近这样的说明结构。json读起来更像一个数据块,读起来就比较费解了。不过,我们读起来费解的语言,恰恰是适合机器阅读,所以通过json的索引.province[0].name就能够读取“黑龙江”这个值。
编码的手写难度来说,xml还是舒服一些,好读当然就好写。不过写出来的字符JSON就明显少很多。去掉空白制表以及换行的话,JSON就是密密麻麻的有用数据,而xml却包含很多重复的标记字符
6.有一些网络上提供的Json在线解析的工具
等。