Десериализации сложных, переменная JSON на C#
Привет,
у меня есть переменная Json, и я хочу десериализовать ее с помощью Newtonsoft.Json.
Этот тип Json не сможет быть преобразован в класс c#. Что же делать?
Заранее спасибо.
"VariableKeyxxx123" - ключи могут встречаться несколько раз со случайными именами.
В некоторых случаях есть "более высокие значения".
{ "result": { "computers": { "variableKeyxxx123": { "id": 3333, "name": "name1", "xvalues": "xxValues" }, "variableKeyxxx862": { "id": 4444, "name": "name2", "xvalues": "xxValues" }, "variableKeyxxx442": { "id": 55555, "name": "name3", "xvalues": "xxValues", "morevalues": { "valuexy": "hello" } } } } }
Что я уже пробовал:
Попробовал jsonToC# и Newtonsoft.Json, но создание класса из приведенного выше ответа вызовет ошибки, поскольку компьютеры называются как в ответе.
public class Computers { public VariableKeyxxx123 variableKeyxxx123 { get; set; } public VariableKeyxxx862 variableKeyxxx862 { get; set; } public VariableKeyxxx442 variableKeyxxx442 { get; set; } }
F-ES Sitecore
Вместо десериализации в конкретный класс, который вы создаете сами, вы можете заставить Newtonsoft сериализоваться в структуру классов JObject, которые смогут обрабатывать случайность структуры, но вам нужно будет проделать некоторую работу, чтобы пройти через структуру и извлечь нужные данные. Google tutorials on newtonsoft, и вы должны найти тот, который включает в себя десериализацию объектов newtonsoft.
Cashi
Ладно, Спасибо. Думал, можно было бы и красивее.