2013-07-26 2 views
0

JsonFX를 사용하고 있습니다. (Json.Net은 옵션이 아닙니다.) Json에서 값을 가져 오지 만, Json의 모든 비트에 대해 deserialize 할 클래스를 만들고 싶지 않습니다. 분석하고 싶다. 따라서 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); 

이 저를 가져옵니다이 있음을

디버거를 사용하여, 나는 알 수 있습니다. 결과를 살펴보면 본질적으로 모든 데이터가 예상되는 형식의 사전이됩니다. 문제는 개체이기 때문에 그 값에 액세스 할 수 없다는 것입니다. results [ "Parent"]는 컴파일되지 않습니다.

데이터를 반영하는 클래스를 만들지 않고 어떻게 이러한 값을 얻을 수 있습니까?

답변

0

JsonFX는 최고입니다. 그냥 동적으로 읽고 데이터에 액세스하십시오.

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

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

// ... 
관련 문제