C# 如何使用JSON中的值填充现有对象实例

C# 如何使用JSON中的值填充现有对象实例,c#,json.net,C#,Json.net,我试图从这个链接复制这个例子。 名字似乎没变。示例中我遗漏了什么。在您的帐户类中,您已将名称属性配置为[DataMember(Name=“title”)]。这将导致序列化程序尝试将其与JSON中的title属性匹配。但是,您的JSON不包含标题属性;它包含一个名称属性 以下是几种可能的解决方案: 从Name属性的[DataMember]属性中删除Name=“title”: [DataMember] public string Name { get; set; } 小提琴: 或 更改JSON,

我试图从这个链接复制这个例子。


名字似乎没变。示例中我遗漏了什么。

在您的
帐户
类中,您已将
名称
属性配置为
[DataMember(Name=“title”)]
。这将导致序列化程序尝试将其与JSON中的
title
属性匹配。但是,您的JSON不包含
标题
属性;它包含一个
名称
属性

以下是几种可能的解决方案:

  • Name
    属性的
    [DataMember]
    属性中删除
    Name=“title”

    [DataMember]
    public string Name { get; set; }
    
    小提琴:

  • 更改JSON,使其具有
    标题
    而不是
    名称

    string json = @"{ 
       'title': 'Help',
       'MainContactId': 0,
    }";
    
    小提琴:


  • 您需要我们提供您正在使用的帐户类的定义,以便拥有一个帐户。该代码适用于我(Core 3.1控制台应用程序)。看不到您的Account类,但我认为这很简单。我尝试了您发布的确切代码,结果正如预期的那样。可能是你得到的json不同吗?一定是我的设置中的某个东西。这正是我正在使用的示例。我看到的唯一可能导致这种情况的是DataMember(Name=“title”),如果删除“Name”部分会发生什么?
    string json = @"{ 
       'title': 'Help',
       'MainContactId': 0,
    }";