{
"Location": "St Kilda",
"Name": "Movie Plaza theatre",
"Day": ["Sunday","Monday","Tuesday","Wednesday","Tuesday","Friday","Saturday"]
}
我无法反序化这个Json。有谁可以帮助我?
答案 0 :(得分:1)
创建json的类,如下所示
public class RootObject
{
public string Location { get; set; }
public string Name { get; set; }
public List<string> Day { get; set; }
}
然后编写如下代码以从json
获取数据JObject json = JObject.Parse(your json string);
RootObject obj = Newtonsoft.Json.JsonConvert.DeserializeObject<RootObject>(json);
<强>更新强>
Console.WriteLine(obj.Location);
Console.WriteLine(obj.Name);
foreach (var d in obj.Day)
{
Console.WriteLine(d);
}
答案 1 :(得分:0)
我认为您可以使用C#动态类型来简化操作。这种技术也使得重新分解更简单,因为它不依赖于魔术字符串。
1。 JsonConvert.DeserializeObject
使用JsonConvert.DeserializeObject<RootObject>(string json);
在JSON 2 C#上创建类。怎么样read here
如果JSON数据中缺少的任何字段应该保留为NULL。
2. 使用Json.NET反序列化JSON 您还可以阅读how deserializing JSON with Json.NET
3. JsonConvert.Populate
您也可以使用JsonConvert.Populate(json,obj);
即json是json字符串,obj是目标对象
详细了解PopulateObject
希望这个帮助很好。