Newtonsoft.Json转换成LIST没数据

时间:2021-09-10 20:38:04
[{ "Id ":82, "JhGuid ": "fabf6d2b-8815-4511-a804-a2c25b121a7f ", "JhCode ": "1709190005 ", "Stall_Guid ": "1FB94139-5343-4ACA-836E-7E79F0BB386E ", "Stall_Name ": "A1-101 ", "Khdm ": "01000001 ", "Khmc ": "陶银 ", "Spdm ": " ", "Spmc ": "打西瓜 ", "Is_has_Zj ":1, "Is_has_ZjString ": "持有 ", "Spsl ":36.00, "Unit_Id ":1, "Unit_Name ": "kg ", "Cddm ": "110000 ", "Cdmc ": "北京市 ", "Cdmc_Long ": "上海 ", "Cph ": "qa35ty ", "Supply_Khdm ": "e8249576-773c-43ca-8203-574817c9426b ", "Supply_Khmc ": "966666 ", "Lxdh ": " ", "Status ":1, "UserGuid ": "01000001 ", "UserCode ": "01000001 ", "RelName ": "陶银 ", "WriteDate ": "2017-09-19 13:31:17 ", "EditDate ": "2017-10-25 16:08:42 ", "Jhrq ": "2017-09-19 13:31:17 ", "In_Check_Guid ": " ", "In_Check_Rq ": "2017-09-19 13:31:17 ", "DepCode ": "01 ", "DepName ": "干货 ", "SourceTypeCode ": "03 ", "SourceTypeName ": "手机端(商户端) ", "Jh_check_guid ": " ", "Is_check ":2, "Is_checkString ": "未查 ", "Check_rq ": "2017-09-19 13:31:17 ", "Check_result_code ": " ", "Check_result_name ": " ", "Check_remark ": " "}]

 List<JhInfo> model = new List<JhInfo>();
  model = JsonConvert.DeserializeObject<List<JhInfo>>(text);  

最后获取是没有数据的,这是什么问题呢。。。。

21 个解决方案

#1


最后list里面没数据,但是有条数。。。

#2


你的JhInfo怎么定义的?

#3


JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的

#4


我以前也写实体类
现在都直接hashtab或者dictionary处理了。

#5


引用 3 楼 zhujiazhi 的回复:
JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

#6


引用 5 楼 a442907397 的回复:
Quote: 引用 3 楼 zhujiazhi 的回复:

JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

我记得这东西大小写敏感的…………

#7


引用 6 楼 xomix 的回复:
Quote: 引用 5 楼 a442907397 的回复:

Quote: 引用 3 楼 zhujiazhi 的回复:

JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

我记得这东西大小写敏感的…………
 ...额。。。那我重新试下

#8


引用 7 楼 a442907397 的回复:
...额。。。那我重新试下


首先这东西有自动生成器的,就Newtonsoft.Json的开源地址就有。

其次你测试用短一些的先看看效果啊。

最后你真的不考虑一下dictionary吗?

#9


引用 8 楼 xomix 的回复:
Quote: 引用 7 楼 a442907397 的回复:

...额。。。那我重新试下


首先这东西有自动生成器的,就Newtonsoft.Json的开源地址就有。

其次你测试用短一些的先看看效果啊。

最后你真的不考虑一下dictionary吗?
 没用过这个0 0.

#10


这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }

#11


引用 10 楼 hanjun0612 的回复:
这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }

学习大佬

#12


引用 10 楼 hanjun0612 的回复:
这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }
  public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }大佬,这一段是干嘛的。。。

#13


因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。

#14


引用 12 楼 a442907397 的回复:
Quote: 引用 10 楼 hanjun0612 的回复:

这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }
  public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }大佬,这一段是干嘛的。。。

因为你json给出的 是个数组 [{"id".....} ],
所以这一段只是说明这个类的元素是一个数组。

#15


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。
就是这个问题额,去掉空格就可以了

#16


Json格式不太好看,容易出错

#17


引用 15 楼 a442907397 的回复:
Quote: 引用 13 楼 guwei4037 的回复:

因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。
就是这个问题额,去掉空格就可以了


人的问题。。。

#18


嗯是的,追查为什么会增加一个空格,这往往要从人的问题来理解。

#19


或许那里并不是空格,而是别的东西(编码内容)。但是技术此时不重要,重要地是为什么开发者自己没有发现呢?

#20


Notepad++ 有个json的格式化插件,便捷格式查看

#21


多了一个空格。 

#1


最后list里面没数据,但是有条数。。。

#2


你的JhInfo怎么定义的?

#3


JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的

#4


我以前也写实体类
现在都直接hashtab或者dictionary处理了。

#5


引用 3 楼 zhujiazhi 的回复:
JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

#6


引用 5 楼 a442907397 的回复:
Quote: 引用 3 楼 zhujiazhi 的回复:

JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

我记得这东西大小写敏感的…………

#7


引用 6 楼 xomix 的回复:
Quote: 引用 5 楼 a442907397 的回复:

Quote: 引用 3 楼 zhujiazhi 的回复:

JhInfo里面的属性要和json里面的字段名对应起来,如果真的不想和json里面的一样,可以用[JsonProperty]来标识的
Newtonsoft.Json转换成LIST没数据  没弄错的话是对齐了的啊。。。

我记得这东西大小写敏感的…………
 ...额。。。那我重新试下

#8


引用 7 楼 a442907397 的回复:
...额。。。那我重新试下


首先这东西有自动生成器的,就Newtonsoft.Json的开源地址就有。

其次你测试用短一些的先看看效果啊。

最后你真的不考虑一下dictionary吗?

#9


引用 8 楼 xomix 的回复:
Quote: 引用 7 楼 a442907397 的回复:

...额。。。那我重新试下


首先这东西有自动生成器的,就Newtonsoft.Json的开源地址就有。

其次你测试用短一些的先看看效果啊。

最后你真的不考虑一下dictionary吗?
 没用过这个0 0.

#10


这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }

#11


引用 10 楼 hanjun0612 的回复:
这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }

学习大佬

#12


引用 10 楼 hanjun0612 的回复:
这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }
  public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }大佬,这一段是干嘛的。。。

#13


因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。

#14


引用 12 楼 a442907397 的回复:
Quote: 引用 10 楼 hanjun0612 的回复:

这个类肯定可以,通过vs 编辑-选择性黏贴 -json 生成的
public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }

    public class Class1
    {
        public int Id { get; set; }
        public string JhGuid { get; set; }
        public string JhCode { get; set; }
        public string Stall_Guid { get; set; }
        public string Stall_Name { get; set; }
        public string Khdm { get; set; }
        public string Khmc { get; set; }
        public string Spdm { get; set; }
        public string Spmc { get; set; }
        public int Is_has_Zj { get; set; }
        public string Is_has_ZjString { get; set; }
        public float Spsl { get; set; }
        public int Unit_Id { get; set; }
        public string Unit_Name { get; set; }
        public string Cddm { get; set; }
        public string Cdmc { get; set; }
        public string Cdmc_Long { get; set; }
        public string Cph { get; set; }
        public string Supply_Khdm { get; set; }
        public string Supply_Khmc { get; set; }
        public string Lxdh { get; set; }
        public int Status { get; set; }
        public string UserGuid { get; set; }
        public string UserCode { get; set; }
        public string RelName { get; set; }
        public string WriteDate { get; set; }
        public string EditDate { get; set; }
        public string Jhrq { get; set; }
        public string In_Check_Guid { get; set; }
        public string In_Check_Rq { get; set; }
        public string DepCode { get; set; }
        public string DepName { get; set; }
        public string SourceTypeCode { get; set; }
        public string SourceTypeName { get; set; }
        public string Jh_check_guid { get; set; }
        public int Is_check { get; set; }
        public string Is_checkString { get; set; }
        public string Check_rq { get; set; }
        public string Check_result_code { get; set; }
        public string Check_result_name { get; set; }
        public string Check_remark { get; set; }
    }
  public class Rootobject
    {
        public Class1[] Property1 { get; set; }
    }大佬,这一段是干嘛的。。。

因为你json给出的 是个数组 [{"id".....} ],
所以这一段只是说明这个类的元素是一个数组。

#15


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。
就是这个问题额,去掉空格就可以了

#16


Json格式不太好看,容易出错

#17


引用 15 楼 a442907397 的回复:
Quote: 引用 13 楼 guwei4037 的回复:

因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。


引用 13 楼 guwei4037 的回复:
因为你的json每一项(比如:"Id  " )都带有空格,把这个空格去掉就解析出来了。
就是这个问题额,去掉空格就可以了


人的问题。。。

#18


嗯是的,追查为什么会增加一个空格,这往往要从人的问题来理解。

#19


或许那里并不是空格,而是别的东西(编码内容)。但是技术此时不重要,重要地是为什么开发者自己没有发现呢?

#20


Notepad++ 有个json的格式化插件,便捷格式查看

#21


多了一个空格。