什么是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
如遇到如何问题,请在下方留言;如有任何建议与见解,欢迎指正。
时间: 2024-09-29 23:29:31