Как я могу получить конкретные значения из десериализованного объекта JsonFX?
Я использую JsonFX (это требование, Json.Net не вариант) для извлечения значений из Json, но я не хочу создавать класс для десериализации для каждого бита Json, который я хочу разобрать. Так что, если у меня есть немного JSON:
{
Parent:
{
Name: "John",
Child:
{
Name: "Bob",
Age: 20
}
}
}
Я хотел бы получить произвольный доступ к Child.Name. С Json.Net я бы просто сделал JObject.Parse(json)["Parent"]["Child"]["Name"]. Мне нужно сделать то же самое, используя JsonFX.
Используя отладчик, я вижу, что это:
Object results = JsonFx.Json.JsonReader.Deserialize(response);
В значительной степени доставляет меня туда. Если я посмотрю на результаты, то это по сути словарь со всеми данными в том формате, который я ожидал. Проблема в том, что, поскольку это объект, я не могу получить доступ ни к одному из этих значений. результаты ["Parent"] не компилируются.
Как я могу получить эти значения, не создавая класс, который отражает данные?
1 ответ
JsonFX потрясающий. Просто прочитайте это в динамике и получите доступ к данным.
dynamic j = new JsonFx.Json.JsonReader().Read( response );
string ParentName = j.Parent.Name;
string ChildName = j.Parent.Child.Name;
// ...