2013-06-19 2 views
-2

C#으로 JSON 객체가 있습니다. 나는 그것을 C#에서 반복하고 싶다. 객체의 모든 속성은 동적입니다. 다음 코드에서 tr5, tr5td7, tr6, tr6td4는 동적 이름이므로 다른 객체에서 변경 될 수 있습니다. 제발 도와주세요.C에서 json 객체를 반복하는 방법 #

"trList": { 
"tr5": { 
    "tdList": { 
    "tr5td7": { 
     "td": { 
     "outcomesName": "Weight (kg) Simvastatin", 
     "group": { 
      "groups": "Entry", 
      "dosage": "", 
      "n": "" 
     }, 
     "values": [ 
      { 
      "type": "Mean", 
      "symbolType": "x¯", 
      "value": "78.4" 
      }, 
      { 
      "type": "SE", 
      "symbolType": "S", 
      "value": "3.1" 
      } 
     ], 
     "pattern": { 
      "arr": [ 
      { 
       "values": "78.4", 
       "pattern": "number", 
       "type": "Mean", 
       "symbolType": "x¯" 
      }, 
      { 
       "values": "3.1", 
       "pattern": "number", 
       "type": "SE", 
       "symbolType": "S" 
      } 
      ], 
      "pat": "number-separator-number-separator-", 
      "tdId": "tr5td7" 
     }, 
     "note": "", 
     "outcomesNote": "", 
     "groupsNote": "" 
     } 
    }, 
    } 
} 
    "tr6": { 
    "tdList": { 
    "tr6td4": { 
     "td": { 
     "outcomesName": "Height (kg) Simvastatin", 
     "group": { 
      "groups": "Entry", 
      "dosage": "", 
      "n": "" 
     }, 
     "values": [ 
      { 
      "type": "Mean", 
      "symbolType": "x", 
      "value": "70.4" 
      }, 
      { 
      "type": "SE", 
      "symbolType": "S", 
      "value": "5" 
      } 
     ], 
     "pattern": { 
      "arr": [ 
      { 
       "values": "70.4", 
       "pattern": "number", 
       "type": "Mean", 
       "symbolType": "x" 
      }, 
      { 
       "values": "5", 
       "pattern": "number", 
       "type": "SE", 
       "symbolType": "S" 
      } 
      ], 
      "pat": "number-separator-number-separator-", 
      "tdId": "tr6td4" 
     }, 
     "note": "", 
     "outcomesNote": "", 
     "groupsNote": "" 
     } 
    }, 
    } 
} 

}

답변

0

귀하의 dynamic 객체가 효과적으로 단지 Dictionary<string, object>, 그래서 당신이 그런 예로 전송할 수 있습니다

IDictionary<string, object> dict = jsonObject; 
foreach (var item in dict) 
{ 
    Console.WriteLine("{0}: {1}", item.Key, item.Value); 
} 
0

JSON.Net을 사용할 수 있습니다.

dynamic d = JObject.Parse("{number:1000, str:'string', array: [1,2,3,4,5,6]}"); 

Console.WriteLine(d.number); 
Console.WriteLine(d.str); 
Console.WriteLine(d.array.Count); 
관련 문제