反序列化Json文件

时间:2015-08-08 04:44:50

标签: c# json

{
    "Location": "St Kilda", 
    "Name": "Movie Plaza theatre", 
    "Day": ["Sunday","Monday","Tuesday","Wednesday","Tuesday","Friday","Saturday"]
}

我无法反序化这个Json。有谁可以帮助我?

2 个答案:

答案 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

希望这个帮助很好。