Использование json.net от строки до данных в C # - PullRequest
0 голосов
/ 18 февраля 2011

Надеюсь, кто-нибудь может мне помочь с примером, потому что я новичок в JSON: Из веб-сервиса я получаю строку JSON. Я понимаю, что он создан на основе данных. Как мне удается в C # десериализовать это в набор данных? Может быть, у кого-то есть что-то для меня.

{
  "DataToJohnson": {
    "0": {
      "maat_id": "1",
      "maat": "11"
    },
    "1": {
      "maat_id": "2",
      "maat": "11+"
    },
    "2": {
      "maat_id": "3",
      "maat": "12+"
    },
    "3": {
      "maat_id": "4",
      "maat": "12/13"
    }
  }
}

Спасибо! * * 1004

Raymond

1 Ответ

3 голосов
/ 18 февраля 2011

Вы можете определить модель, которая будет представлять эти данные JSON:

public class Data
{
    public int Maat_id { get; set; }
    public string Maat { get; set; }
}

public class MyModel
{
    public Dictionary<int, Data> DataToJohnson { get; set; }
}

и затем использовать Json.NET для десериализации этой строки в модель

var json = 
@"{
  ""DataToJohnson"": {
    ""0"": {
      ""maat_id"": ""1"",
      ""maat"": ""11""
    },
    ""1"": {
      ""maat_id"": ""2"",
      ""maat"": ""11+""
    },
    ""2"": {
      ""maat_id"": ""3"",
      ""maat"": ""12+""
    },
    ""3"": {
      ""maat_id"": ""4"",
      ""maat"": ""12/13""
    }
  }
}";
MyModel model = JsonConvert.DeserializeObject<MyModel>(json);
foreach (var item in model.DataToJohnson)
{
    Console.WriteLine(
        "id: {0}, maat_id: {1}, maat: {2}", 
        item.Key, item.Value.Maat_id, item.Value.Maat
    );
}
...