2013-07-26 49 views
0

我正在使用JsonFX(这是一个需求,Json.Net不是一种选择)从Json中提取值,但我不想创建一个类来反序列化为每一个JSON的位,我想解析。所以,如果我有这一点的JSON:如何从JsonFX反序列化对象中获取特定值?

{ 
    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”]不能编译。

如何在不创建反映数据的类的情况下获得这些值?

回答

0

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

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

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

// ...