[英]Deserialize complex JSON data in C#
我只是C#編程的業余愛好者。 現在我有一個JSON數據,看起來像下面
{
type: "xxx",
width: "xxx",
dataSource: {
"chart": {
"caption": "xxx"
},
"data": [
{},
{}
]
}
}
我將整個數據作為轉義字符串。 現在當我使用JavaScriptSerializer時在Unescape之后,如下
var data = ser.Deserialize<Dictionary<String, Object>>(chartData);
我可以得到“類型”,“寬度”為
data["width"]
data["type"]
現在,我必須獲取“標題”的值。 關於如何獲得該建議的任何建議,我相信都需要更改字典結構,但由於缺乏C#知識,我被堆積了
如果您知道對象的方案,則可以創建一個類來表示,然后將json反序列化為該類:
YourKnownClass obj = JsonConvert.DeserializeObject<YourKnownClass>(json);
Console.WriteLine(obj.dataSource.chart.caption.Value);
另一種選擇是使用動態類型(如果您知道架構並可以創建匹配的C#類,那么就沒有充分的理由使用動態對象。這也會對性能產生影響):
dynamic obj = JsonConvert.DeserializeObject<dynamic>(json);
Console.WriteLine(obj.dataSource.chart.caption.Value);
順便說一句,在此示例中,我使用的是流行的json.net庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.