Переменное количество свойств JSON с точками в имени - PullRequest
0 голосов
/ 10 мая 2018

Я сталкиваюсь с некоторыми специально отформатированными синтаксисами JSON из Интернета. В основном мы получаем переменное количество свойств с точками в имени. Вот два очевидных случая:

case 1:

"data" {
    "SET.Key.count":"0",
    "SET.Value.count":"0",
    ...
}

case 2:

"data" {
    "SET.Key.0":"Key 1",
    "SET.Key.1":"Key 2",
    "SET.Key.2":"Key 3",
    "SET.Key.3":"Key 4",
    "SET.Key.count":"4",
    "SET.Value.0":"10",
    "SET.Value.1":"20",
    "SET.Value.2":"30",
    "SET.Value.3":"40",
    "SET.Value.count":"4",
    ...
}

Где число 4 - произвольное число. Они могут быть чем угодно, но количество ключей и значение должны быть одинаковыми. «...» означает больше свойств, но их можно игнорировать в этом сообщении.

Я десериализирую потоки JSON с помощью Newtonsoft.Json и C #. Но мне не нужно оставаться с Newtonsoft.Json. Как я могу десериализовать его в список объектов (ключ и значение). Будем весьма благодарны за любые предложения по работе с такого рода свойствами JSON.

1 Ответ

0 голосов
/ 10 мая 2018

Использование JsonPropertyAttribute

 [JsonProperty(PropertyName = "user.isSystem")]
 public int IsSystem { get; set; }

 [JsonProperty(PropertyName = "0")]
 public int ZeroField{ get; set; }
...