【发布时间】:2017-10-06 13:41:06
【问题描述】:
我有一个 JSON 对象:
string bodyText = " {\"id\":16751112,\"firstname\":{\"value\":\"Sydni\",\"versions\":[{\"value\":\"Sydni\",\"source-type\":\"FORM\",\"source-id\":\"0eec9e33-4e82-4511-85ef-83556395e046\",\"source-label\":\"First Name\"} ";
以及映射到 json 对象的类:
public class Person
{
public string firstname { get; set; }
public string id { get; set; }
}
以下代码填充 id 属性,但不填充名字:
Person _Person = JsonConvert.DeserializeObject<Person>(bodyText);
有人可以帮我反序列化 json 字符串对象中的 firstname 元素并存储在我的 _Person 对象中吗?
【问题讨论】:
-
也许,因为
firstname不是字符串,而是 JSON 中的属性? -
firstname在你的类中是一个string,在你的 json 中firstname属性是一个对象。 -
我建议将您的 JSON 发布到 json2csharp.com 并让它为您生成正确的
PersonC# 类。 -
@UweKeim 在 Visual Studio 中有一个工具,可以将 json 字符串作为 c# 类传递。 “编辑 -> 选择性粘贴 -> 将 JSON 粘贴为类”.
-
至少是重复的