我最近试图使用带有动态数据类型的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非常复杂。如果需要发布,我会发布它。
嗨,谢谢。这件事对我来说非常出色,而且现在也不需要任何动态对象。我同意你所说的弃用动态对象的原因。再次感谢。 :) –
快乐!很高兴我能帮上忙。我自己花了很多时间在这个上! –