马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#中解析Json为对象

[复制链接]
查看4851 | 回复2 | 2014-11-18 09:48:58 | 显示全部楼层 |阅读模式
下面是JSON字符串

[C#] 纯文本查看 复制代码
string jsonObject="{'Name':'Jack','Age':25}";
string jsonArray = "[{'Name':'Jhon','Age':23},{'Name':'Jack','Age':25}]";      


定义一个学生类

[C#] 纯文本查看 复制代码
class Student
{
    public string Name { get; set; }
    public int Age { get; set; }
}


通过Nuget程序包来添加Newtonsoft.Json的引用,并添加using Newtonsoft.Json.Linq;命名空间
创建JToken对象,并解析上面的字符串:

[C#] 纯文本查看 复制代码
JToken jtoken = JToken.Parse(jsonObject);
 JToken jtoken2=JToken.Parse(jsonArray);


将json转换为学生对象

[C#] 纯文本查看 复制代码
if (jtoken1 is JObject)
 {
       Student s=jtoken.ToObject<Student>();
       Console.WriteLine(s.Name);
       Console.WriteLine(s.Age);
 }
if (jtoken2 is JArray)
{
    List<Student> students = jtoken2.ToObject<List<Student>>();
    foreach (var student in students)
    {
        Console.WriteLine(string.Format("Name:{0}\tAge:{1}", student.Name, student.Age));
    }
}


这种方式超级简单了。


C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
jakey0108 | 2017-7-15 11:09:55 | 显示全部楼层
这种方法不错 挺好的
bella926 | 2017-7-15 16:21:44 | 显示全部楼层
Newtonsoft.Json  这个库真的是棒棒的
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则