海海日记-冯海滨博客

您现在的位置是:首页 > C# > 正文

C#

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

happyfhb2017-10-26C#3026

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"]);


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;  
    }  
}


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);    
}

平淡中储蓄成长

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~