我最近試圖使用帶有動態數據類型的JSON.Net API反序列化JSON內容。在WinRT中使用動態數據類型反序列化JSON
我真的很難搜索論壇,並發現在WinRT中確實有這樣做的可能。
樣品JSON可以是:
string json = "{\"message\":\"Sample Message\"}"
我使用以下格式:
dynamic result = JsonConvert.DeserializeObject<dynamic>(json);
它成功地解串以導致該內容。但是,當我嘗試使用一個語法像訪問它:
string message = result.message;
它導致這是一個錯誤:
「對象」不包含「信息」,並沒有擴展方法「的定義。消息「接受類型'對象'的第一個參數可以找到(你是否缺少一個使用指令或程序集引用?)
我嘗試了很多json樣品,但錯誤仍然是一樣的。 真正地說,我試了幾個小時後,它實際上工作!但是這次我找不到我缺少的東西。
PS:我只需要使用動態,因爲我的實際Json包含動態字段名稱。 一旦它像:
{"New York" : "Its in United States"}
,有時是這樣的:
{"London" : "Its in United Kingdom"}
(廢話例如,雖然:P) 的json2csharp類方法不會在這裏工作,我想,如果有一些次要和更有效的方法。請引導我。我試圖解析的真正的Json非常複雜。如果需要發佈,我會發布它。
嗨,謝謝。這件事對我來說非常出色,而且現在也不需要任何動態對象。我同意你所說的棄用動態對象的原因。再次感謝。 :) –
快樂!很高興我能幫上忙。我自己花了很多時間在這個上! –