当前位置: 代码迷 >> C# >> C#读取Json解决办法
  详细解决方案

C#读取Json解决办法

热度:31   发布时间:2016-05-05 04:39:37.0
C#读取Json
现在我想用C#解析Json格式的文件

Json的格式是这样的
{
 a: "1",
 b : [
  {
   c : 0,
   d : "FIELDNAME",
  },
  {
   c : 1,
   d : "FIELDNAME",
  },
 ]
}

定义了两个类
    public class JsonInfo
    {
        public string a { get; set; }
        public List<SubInfo> subInfo { get; set; }
        
    }
    public class SubInfo
    {
        public int c{ get; set; }
        public string d{ get; set; }
    }


用这个方法解析的时候
            JsonSerializer serializer = new JsonSerializer();
            StringReader sr = new StringReader(json);
            object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
            T t = o as T;
            return t;

JsonInfo的a里面可以正确解析,但是Lsit的b总是null

请问这个要怎么处理呢
谢谢了
------解决思路----------------------
  public class JsonInfo
    {
        public string a { get; set; }
        public List<SubInfo> subInfo { get; set; }
        
    }

改成下面代码'
  public class JsonInfo
    {
        public string a { get; set; }
        public List<SubInfo> b{ get; set; }//这里是重点
        
    }

------解决思路----------------------
ls正解,要注意字段名称要跟json的字段名称相匹配
或者这样写也可以:

            JObject jo = (JObject)JsonConvert.DeserializeObject(json);
            Console.WriteLine(jo["a"].ToString());
            foreach (JToken token in jo["b"])
            {
                Console.WriteLine(token["c"].ToString());
                Console.WriteLine(token["d"].ToString());
            }
  相关解决方案