什么是json
json是一种轻量级的数据交换格式,由N组键值对组成的字符串,完全独立于语言的文本格式。
为什么要使用json
在很久很久以前,调用第三方API时,我们通常是采用xml进行数据交互,但往往xml包含更多冗余的标记字符,在传输较大数据时,相较于xml,json显得更加简洁,轻量。
与此同时,javascript能更好的支持json,以及它更加便捷的解析方式,这使得我们在编程过程中能够更加方便,快捷的进行开发。
慢慢地,我们已经渐渐向json转变,越来越多的人开始使用json进行数据交互了。
当然,在选择json和xml的过程,实际上是以API的交互方式为准的。
如何创建json
json由N组键值对(名称/值对)组成。
一般格式:
{key:value,key:value,...}
其中key是名称,value就是值对。
举个例子:
{
"name": "simoje",
"sex": "男",
"age": "10",
"is_marry": false,
"childrens": null,
"friends": [
"tom",
"anly",
"kobe"
],
"friends_age": [
{
"tom": 11
},
{
"anly": 10
},
{
"kobe": "10"
}
]
}
json支持类型:
- 数值
- 逻辑值
- 数组
- 对象
- null
如何访问以及修改json
以上为例:
1 var json =
2 {
3 "name": "simoje",
4 "sex": "男",
5 "age": "10",
6 "is_marry": false,
7 "childrens": null,
8 "friends": [
9 "tom",
10 "anly",
11 "kobe"
12 ],
13 "some": [
14 {
15 "tom": 11
16 },
17 {
18 "anly": 10
19 },
20 {
21 "kobe": "10"
22 }
23 ]
24 }
获取姓名(name)
var name = json["name"];
获取所有的朋友(friends)
var friends = json["friends"];
var f = "";
foreach(var item in firends){
f += item + ",";
}
f = f.subString(0, f.length - 1);
这样就得到了所有的朋友:tom,anly,kobe
获取tom的年龄(friends_age)
var tom_age = json["friends_age"][0]["tom"];
以上便是json的构造与使用方式了。
如何在.Net中使用json
- 下载Newtonsoft.Json.dll/Newtonsoft.Json.Net20.dll(下方链接)
- 将其添加到项目中,并引用命名空间
声明&赋值
1 JObject json = new JObject(
2 new JProperty("name", "simoje"),
3 new JProperty("sex", "男"),
4 new JProperty("age", 10),
5 new JProperty("is_marry", false),
6 new JProperty("childrens",null),
7 new JProperty("friends",
8 new JArray(
9 new JValue("tom"),
10 new JValue("anly"),
11 new JValue("kobe"))),
12 new JProperty("friends_age",
13 new JArray(
14 new JProperty("tom", 11),
15 new JProperty("anly", 10),
16 new JProperty("kobe", 10))));
访问&修改
获取姓名(name)
var name = json["name"].ToString();
获取所有的朋友(friends)
JArray friends_ja = JArray.Parse(json["friends"].ToString());
var f = string.Empty;
foreach (JValue item in friends_ja)
{
f += item.ToString() + ",";
}
f = f.Substring(0, f.Length - 1);
获取tom的年龄(friends_age)
var friends_age_ja = JArray.Parse(json1["friends_age"].ToString());
var tom_age = friends_age_ja[0]["tom"].ToString();
在实际开发过程中,我们很可能会遇到很多问题,但只要我们能灵活运用json,它会给我们带来很多意想不到的快乐和惊喜。
以上。
链接:http://pan.baidu.com/s/1ntMldJ7 提取密码:892s
如遇到如何问题,请在下方留言;如有任何建议与见解,欢迎指正。