Windows Phone 7开发遇到的事:解析JSON
2012-10-16 18:53
435 查看
WP从服务器、API交换数据一般都是用JSON格式字符串。
下面介绍用Newtonsoft.Json来处理JSON。
2.解压引用Newtonsoft.Json.dll。
{
"Name":"I",
"Age":25,"
Family":
[
{
"Name":"mom",
"Age":50,
"Family":[]
},
{
"Name":"dad",
"Age":50,
"Family":[]
}
]
}
先根据目标JSON写一个Person类用来存放数据:
开始解析:
这样json就解析出来啦。下面我们看看一些小细节。
1.json["属性名"].Type可以知道这个属性的类型。
2.json["属性名"]是那个类型才能转为其对应的类型,否则为null。
下面介绍用Newtonsoft.Json来处理JSON。
准备
1.到 http://json.codeplex.com/ 下载Newtonsoft.Json类库(Json45r10.zip)。2.解压引用Newtonsoft.Json.dll。
解析
目标JSON字符串:{
"Name":"I",
"Age":25,"
Family":
[
{
"Name":"mom",
"Age":50,
"Family":[]
},
{
"Name":"dad",
"Age":50,
"Family":[]
}
]
}
先根据目标JSON写一个Person类用来存放数据:
public class Person { public string Name { get; set; } public int Age { get; set; } public List<Person> Family { get; set; } }
开始解析:
string jsonString = "{\"Name\":\"I\",\"Age\":25,\"Family\":[{\"Name\":\"mon\",\"Age\":50,\"Family\":[]},{\"Name\":\"dad\",\"Age\":50,\"Family\":[]}]}"; //得到json对象(jsonString不是json字符串这里就会抛出异常) JObject json = JObject.Parse(jsonString); Person person = new Person(); //得到属性Name的值 person.Name = (string)json["Name"]; //Age的值 person.Age = (int)json["Age"]; //用下面的方法获得Family的值 person.Family = GetPersonListFromJArray(json["Family"] as JArray);
private List<Person> GetPersonListFromJArray(JArray jArray) { List<Person> list = new List<Person>(); if (jArray != null) { foreach (JObject jObject in jArray) { Person person = new Person(); person.Name = (string)jObject["Name"]; person.Age = (int)jObject["Age"]; person.Family = GetPersonListFromJArray(jObject["Family"] as JArray); list.Add(person); } } return list; }
这样json就解析出来啦。下面我们看看一些小细节。
1.json["属性名"].Type可以知道这个属性的类型。
2.json["属性名"]是那个类型才能转为其对应的类型,否则为null。
构造
简单,就一句代码。//这个person就是之前jsonString解析出来那个person string s = JsonConvert.SerializeObject(person);
相关文章推荐
- iOS开发中解析JSON中的boolean类型的数据遇到的问题
- ios开发中遇到的解析json出错之Unescaped control character '0x9'
- Windows Phone开发之Json数据解析
- Android开发中经常遇到的一些不同Json格式数据的解析的总结
- 详解iOS开发中解析JSON中的boolean类型的数据遇到的问题
- Android开发中遇到的json解析异常问题
- windows phone开发之json解析篇
- 服务器端JSON开发中遇到的异常解析
- iOS开发——XML/JSON数据解析
- Windows phone 7 关于json格式解析
- 用AFNetworking 做JSON数据解析遇到 3840 错误
- 打正式包混淆时遇到的坑,不要把依赖包里的model给混淆了,否则json解析的时候会找不到model,导致加载不出数据,都是null
- 关于Gson解析Okhttp返回的json数据遇到的问题
- 【Android开发经验】超好用的json解析工具——Gson项目使用详解
- [置顶] iOS开发AFN3.0中json解析返回3840获取error自己解析
- Android商城开发系列(六)——使用 OkHttpUtils 请求网络 + 使用 fastjson解析数据
- IOS开发学习27 ObjectC 自带json解析方法的使用
- QT开发(六十二)———QT5解析Json文件
- SpringMVC+tomcat json接口开发,IDE IntelliJ idea遇到的问题汇总
- Android的okhttp的post请求,php返回json数据。以及遇到的okhttp dispatcher问题,和json解析遇到的问题