2013-07-26 89 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; 

// ...