码迷,mamicode.com
首页 > Web开发 > 详细

WP8_Json的用法

时间:2014-06-22 12:36:17      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:class   blog   code   http   com   get   

WP从服务器、API交换数据一般都是用JSON格式字符串。 下面介绍用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,

  

  WP从服务器、API交换数据一般都是用JSON格式字符串。

  下面介绍用Newtonsoft.Json来处理JSON。

  准备

  1.到 http://json.codeplex.com/ 下载Newtonsoft.Json类库(Json45r10.zip)。

  

bubuko.com,布布扣

 

  2.解压引用Newtonsoft.Json.dll。

  

bubuko.com,布布扣

 

  解析

  目标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可以知道这个属性的类型。

  

bubuko.com,布布扣

 

  2.json["属性名"]是那个类型才能转为其对应的类型,否则为null。

  

bubuko.com,布布扣

 

  构造

  简单,就一句代码。

  //这个person就是之前jsonString解析出来那个person

  string s = JsonConvert.SerializeObject(person);

  //这个person就是之前jsonString解析出来那个person

  string s = JsonConvert.SerializeObject(person);

  

bubuko.com,布布扣

  本文来自leons77的博客,原文地址:http://blog.csdn.net/leons77/article/details/8077282

WP8_Json的用法,布布扣,bubuko.com

WP8_Json的用法

标签:class   blog   code   http   com   get   

原文地址:http://www.cnblogs.com/jx270/p/3801688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!