【转载】C#中怎么解析JSON数据,并获取到其中的值?

1.先定义一个JSON字符串

string json = @"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]";	

2.首先我们根据创建一个json字符串的类
我们根据字符串的数据结构定义两个类:

 public class Info
        {
            public string phantom { get; set; }
            public string id { get; set; }
            public data data { get; set; }
        }

 

  public class data
        {
            public int MID { get; set; }
            public string Name { get; set; }
            public string Des { get; set; }
            public string Disable { get; set; }
            public string Remark { get; set; }
        }

3.再Main函数中进行操作,如下Main函数:

  static void Main(string[] args)
        {
            string json = @"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]";
            List<Info> jobInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Info>>(json);

            foreach (Info jobInfo in jobInfoList)
            {
                Console.WriteLine("UserName:" + jobInfo.id);
                Console.WriteLine("UserName:" + jobInfo.data.MID);
            }
        }

运行结果如下:

UserName:20130717001
UserName:1019

附加,如相同结构带数组,则使用递归遍历;
4.全部完整代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace JsonProcess
{
    class Program
    {
        public class Info
        {
            public string phantom { get; set; }
            public string id { get; set; }
            public data data { get; set; }
        }

        public class data
        {
            public int MID { get; set; }
            public string Name { get; set; }
            public string Des { get; set; }
            public string Disable { get; set; }
            public string Remark { get; set; }
        }
        static void Main(string[] args)
        {
            string json = @"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]";
            List<Info> jobInfoList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Info>>(json);

            foreach (Info jobInfo in jobInfoList)
            {
                Console.WriteLine("UserName:" + jobInfo.id);
                Console.WriteLine("UserName:" + jobInfo.data.MID);
            }
        }
    }
}

本文源于zhuxiaoge(http://www.cnblogs.com/zhuxiaoge/p/7095960.html),如有转载请标明出处,不甚感激!!!

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
C#解析JSON数据可以使用Newtonsoft.Json库。这个库可以将JSON数据转换成.NET对象,或者将.NET对象转换成JSON数据。 以下是一个例子,展示如何解析JSON数据获取: ```csharp using Newtonsoft.Json.Linq; // json是一个包含JSON数据的字符串 string json = "{ \"name\": \"John\", \"age\": 30 }"; // 将JSON数据转换成JObject对象 JObject obj = JObject.Parse(json); // 从JObject对象获取 string name = (string)obj["name"]; int age = (int)obj["age"]; ``` 首先,使用JObject.Parse方法将JSON数据转换成JObject对象。然后,使用索引器访问对象的属性并强制转换为需要的类型。 当然,如果你知道JSON数据结构的具体格式,还可以使用反序列化来将JSON数据转换成.NET对象。这种方法更加方便,因为你可以直接使用.NET对象的属性和方法来访问数据。 以下是一个例子,展示如何使用反序列化来解析JSON数据: ```csharp using Newtonsoft.Json; // 定义一个.NET类来表示JSON数据的结构 public class Person { public string Name { get; set; } public int Age { get; set; } } // json是一个包含JSON数据的字符串 string json = "{ \"name\": \"John\", \"age\": 30 }"; // 将JSON数据反序列化成Person对象 Person person = JsonConvert.DeserializeObject<Person>(json); // 访问Person对象的属性 string name = person.Name; int age = person.Age; ``` 这个例子,我们定义了一个Person类来表示JSON数据的结构。然后,使用JsonConvert.DeserializeObject方法将JSON数据反序列化成Person对象。最后,通过访问Person对象的属性来获取数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值