c# - JsonConvert 仅反序列化类字段

标签 c# json.net

这是 json:

{
    "odata.metadata": ".....",
    "value": [
        {
            "AbsEntry": 10,
            "ItemNo": "....",
            "UoMEntry": -1,
            "Barcode": "2000000000022",
            "FreeText": "Ean13"
        }
    ]
}

这是类:

public class BarCode
{
     public int AbsEntry { get; set; }
     public string ItemNo { get; set; }
     public string Barcode { get; set; }
     public string FreeText { get; set; }
 }

此方法返回null:

BarCode barcode = JsonParser.DeserializeObjcet<BarCode>(json);

是否有任何属性或其他属性可以导致调用 DeserializeObject 仅反序列化我的类的字段(名称与 Json 的名称完全相同)?

最佳答案

你需要像下面这样创建类而不是 BarCode

public class Value
{
 public int AbsEntry { get; set; }
 public string ItemNo { get; set; }
 public int UoMEntry { get; set; }
 public string Barcode { get; set; }
 public string FreeText { get; set; }
}

或者您可以更改 JSON 格式

"BarCode": [
        {
            "AbsEntry": 10,
            "ItemNo": "....",
            "UoMEntry": -1,
            "Barcode": "2000000000022",
            "FreeText": "Ean13"
        }
    ]

关于c# - JsonConvert 仅反序列化类字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133678/

相关文章:

c# - ASP.NET Core 发布数组对象 JSON

c# - 使用 Newtonsoft Json ItemConverterType 的正确方法

c# - 在 Web API 操作中返回时,某些属性不会被序列化

f# - Newtonsoft 无法反序列化一个空的 F# 序列?

javascript - Visual Studio 单页应用程序集成

c# - 单元测试作业组件 C#

c# - 不明白为什么我们会收到错误 CS0234

c# - 保持我的列表/词典在全局范围内可访问

将日期解析为 MS JSON 日期格式的 Java 方法

c# - 使用 Json.NET 从 WebService 反序列化大型 json