【发布时间】:2017-02-15 14:14:52
【问题描述】:
这里有很多答案建议使用以下方法将JObject 用作dynamic。
dynamic dynObj = JObject.Parse(jsonString);
或dynamic dynObj = JsonConvert.DeserializeObject<dynamic>(jsonString);
我的jsonString 很简单:{"id":"123","name":"abc"}。
它似乎在 Newtonsoft.Json 9.0 中不起作用。当我尝试其中任何一个时,我仍然得到一个类型为 object {Newtonsoft.Json.Linq.JObject} 的对象。
当我尝试通过dynObj.id 访问属性时,我得到一个异常error CS1061: 'object' does not contain a definition for 'id' and no extension method 'id' accepting a first argument of type 'object' could be found。
【问题讨论】:
-
显示你的
jsonString -
刚刚添加了jsonString
-
你有MCVE - 我刚试过,它似乎按预期工作(v9.0.1)?
-
我想我会尝试在我的项目之外创建一个示例。
-
无法复制,见dotnetfiddle.net/aXmSUv。