Как я могу получить конкретные значения из десериализованного объекта 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;

// ...
Другие вопросы по тегам