JSON数据到.NET类

时间:2013-06-08 20:32:51

标签: .net json datacontractserializer datacontract

我只是为Facebook好友对象编写了一些转换代码,我尝试使用json2csharp converter,它似乎创建了很多类来提供结构。

JSON

{
  "data": [
    {
      "name": "Name1",
      "id": "34535345",
      "picture": {
        "data": {
          "url": "https://fiamge.jpg",
          "is_silhouette": false
        }
      }
    },
    {
      "name": "Name2",
      "id": "23424234",
      "picture": {
        "data": {
          "url": "https://fimage.jpg",
          "is_silhouette": false
        }
      }
    }]
}

CSharp json2csharp

public class Data
{
    public string url { get; set; }
    public bool is_silhouette { get; set; }
}

public class Picture
{
    public Data data { get; set; }
}

public class Datum
{
    public string name { get; set; }
    public string id { get; set; }
    public Picture picture { get; set; }
}

public class RootObject
{
    public List<Datum> data { get; set; }
}

对于一个相当简单的JSON来说,似乎是很多类。有没有办法解决图片的需要 - &gt;数据关系,只有图片类?

2 个答案:

答案 0 :(得分:0)

您可以使用Json.Netdynamic

dynamic dynObj = JsonConvert.DeserializeObject(json);
foreach (var item in dynObj.data)
    Console.WriteLine(item.picture.data.url);

答案 1 :(得分:0)

实际上,您提供的JSON似乎只是适量的类。 PictureData类代表JSON。有什么特别的原因让你烦恼吗?