Newtonsoft.Json.dll反序列化JSON字符串的方法

    1.直接反序列化JSON字符串    

 

//引用序列化、反序列化JSON字符串用到的空间
using Newtonsoft.Json;  
using Newtonsoft.Json.Linq; 
 
 //定义一个JSON字符串 
string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";  
//反序列化JSON字符串
JArray ja =(JArray) JsonConvert.DeserializeObject(jsonText); 
 //将反序列化的JSON字符串转换成对象
JObject o = (JObject)ja[1];  
//读取对象中的各项值
Console.WriteLine(o["a"]);  
Console.WriteLine(ja[1]["a"]);  
View Code

 

 

    2.定义对象列表,然后反序列化JSON字符串

    2.1 添加一个类,定义一个对象

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>  
///Customer 的摘要说明  
/// </summary>  
public class Customer
{
    //在序列化前后没有变动  
    public string a
    { get; set; }
    //在序列化前后设置和重置  
    public string b
    { get; set; }
    //设置为null,但在序列化后填充  
    public string c
    { get; set; }
    public string Other
    { get; set; }
    public Customer()
    {
        //  
        //TODO: 在此处添加构造函数逻辑  
        //  
        a = "";
        b = "";
        c = "";
        Other = null;
    }
}
View Code

 

 

 

   2.2 反序列化JSON字符串

//引用序列化、反序列化JSON字符串用到的空间
using Newtonsoft.Json;  
using Newtonsoft.Json.Linq; 
//定义一个JSON字符串 
string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]";  
//反序列化JSON字符串,将JSON字符串转换成LIST列表
List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(jsonText);  
//读取列表中的值
Console.WriteLine(_list[1].a);  
foreach (Customer c in _list)  
{  
    Console.WriteLine(c.c);  
} 
View Code

 

posted @ 2013-06-19 19:10  用心创造精彩每一天  阅读(310)  评论(0编辑  收藏  举报