c# 用Newtonsoft解析多嵌套json问题

fantasykakaxi 2021-12-08 14:45:13
  
string result = {\"Result\":{\"Ret\":0,\"Total\":2},\"Values\":[{\"Name\":\"electric_sum\",\"Value\":\"     15732585.00\",\"Quality\":0},{\"Name":\"TRQ_COUNT\",\"Value\":\"8974.12\",\"Quality\":0}]}

Rootobject[] datas = JsonConvert.DeserializeObject<Rootobject[]>("["+result+"]");
            foreach (Rootobject data in datas)
            {
                Value v = new Value();
                foreach (var item in data.Values)
                {
                    v.Name =item.Name; 
                    v.Values = item.Values;//value总是null值
                    v.Quality = item.Quality;
                }
            }


//实体类
       public class Rootobject
        {
            public Result Result { get; set; }
            public List<Value> Values { get; set; }
        }

        public class Result
        {
            public int Ret { get; set; }
            public int Total { get; set; }
        }

        public class Value
        {
            public string Name { get; set; }
            public string Values { get; set; }
            public int Quality { get; set; }

        }

从接口上获取到一段json 反序列化的时候是取不到最里面一层value的值,最里面一层其他的name  Quality  都能取到值。看到json里面有个中括号了,实体类里也换成了泛型。但还是value的值还是null 。断点跟了程序,Rootobject[] datas = JsonConvert.DeserializeObject<Rootobject[]>("["+result+"]");在反序列化的时候,datas接受到的值就是空的。请问大佬们怎么解决处理。

 

 

...全文
574 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasykakaxi 2021-12-08
  • 打赏
  • 举报
回复

我知道了。实体类的名字起错了。尴尬

暖一杯茶-- 2021-12-08
  • 举报
回复
@fantasykakaxi
fantasykakaxi 2021-12-08
  • 举报
回复
@暖一杯茶-- 是我用vs自带的那个选择性粘贴之后 从json转成类 有个重名的 然后我就改了一下实体类的名字 忘记了 调了半天 才发现
暖一杯茶-- 2021-12-09
  • 举报
回复
@fantasykakaxi 好的

111,087

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧