如何从JsonFX反序列化对象中获取特定值?

时间:2013-07-26 15:29:00

标签: deserialization 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);

几乎让我在那里。如果我查看结果,它本质上是一个字典,所有数据都是我期望的格式。问题是,因为它是一个Object,我无法访问任何这些值。结果[“Parent”]无法编译。

如何在不创建镜像数据的类的情况下获取这些值?

1 个答案:

答案 0 :(得分:0)

JsonFX太棒了。只需将其读入动态并访问数据即可。

dynamic j = new JsonFx.Json.JsonReader().Read( response );

string ParentName = j.Parent.Name;
string ChildName = j.Parent.Child.Name;

// ...