JSON в C# класс

Парни, короче на глаза попался вот такой JSON. Даже не знаю как его представить в виде класса на C#

[
«is a good for child?»,
[
[
"what is a good pet for a child",
0,
[
8,
30
]
],
[
"how long is a child's passport good for",
0,
[
8,
30
]
],
[
"what is a good first pet for a child",
0,
[
8,
30
]
],
[
«is a rabbit a good pet for a child»,
0,
[
8,
30
]
]
],
{
«t»: {
«bpc»: false,
«tlw»: false
},
«q»: «ul2-5osqijK9Cm5xhyiRfRuPxEk»,
«j»: «g»
}
]
  • Вопрос задан
  • 6862 просмотра
Пригласить эксперта
Ответы на вопрос 5
FanKiLL
@FanKiLL
Не валидный json. А вообще, вот сюда сделайте copy/paste сервис выдаст вам нужные модели.
Ответ написан
@mayorovp
Судя по всему, это — object[]
Ответ написан
Комментировать
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
в таком виде он не очень читаем, если честно, лучше кусок кода или отформатировать как код или куда-то на paste.org.ru/etc…
Ответ написан
Комментировать
@petuhov_k
Возможно я не правильно понял вопрос, но если использование Newton не принципиально, то ваш json легко десериализуется так:
var result = new JavaScriptSerializer().DeserializeObject(jsonString);

Получите объект типа object[], где
object[0] — строка «is a good for child?»
object[1] — массив массивов строк/чисел
object[2] — словарь для :{«t»: {{«bpc»: false,«tlw»: false},«q»: «ul2-5osqijK9Cm5xhyiRfRuPxEk»,«j»: «g»}

Используется класс JavaScriptSerializer из System.Web.Extensions
Ответ написан
Комментировать
dzedzinskiy
@dzedzinskiy
Full stack developer
У вас должно быть что то типа таких класcов:
public class InnerObject
{
     public string InnerQuestion{get;set;}
     public int Number{get;set;}
     public List<int> Numbers{get;set;}
}
public class OuterObject // этот класс - представление json объекта
{
     public string OuterQuestion{get;set;}
     public List<InnerObject> ListOfObjects{get;set;}
     public Dictionry<string, object> Dict{get;set;} // тут не уверен т.к. не знаю возможно ли повторение ключей, в более общем случае используйте Dictionry<object, object>
}

//в исполняемой среде :
var jss = new JavaScriptSerializer();
OuterObject object = jss.Deserialize<OuterObject>(json_data);

Но тут нужно уже поиграться с именами свойств класса, чтобы все красиво само десериализировалось
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы