JObject to Dynamic在Newtonsoft.Json 9.0中不起作用

ead*_*dam 3 c# json json.net

这里有许多答案,建议使用以下方法JObject作为dynamic

dynamic dynObj = JObject.Parse(jsonString);
要么
dynamic dynObj = JsonConvert.DeserializeObject<dynamic>(jsonString);

jsonString很简单:{"id":"123","name":"abc"}

在Newtonsoft.Json 9.0中似乎不起作用。当我尝试其中的任何一种时,我仍然会得到带有Type的对象 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

Bri*_*ynn 5

当DLR首次尝试绑定到对象的属性时,您可能会看到在调试器中引发了第一次机会异常。可以安全地忽略此异常,如果继续运行代码,它应该可以正常工作。

请参阅:处理动态时抛出很多机会Microsoft.CSharp.RuntimeBinderExceptions