RuntimeBinderException when parsing json with Newt

2019-02-18 12:36发布

问题:

I'm trying to parse simple json to dynamic object in Windows phone 8. I'm using Newtonsoft.JSON library with this code:

dynamic response = JObject.Parse(responseText);
string streamRequestUrl = response._links.streams;

I can that _links are present there But when I try to read it I get Microsoft.CSharp.RuntimeBinder.RuntimeBinderException. How to get _links property value out of it?

回答1:

I was hitting something similar in VS 2015. The approach using [] to access the properties works, however if I enable "Just My Code" in Tools > Options > Debugging > General. I was able to use the properties on the dynamic objects as normal e.g. code like: response._links.streams; worked.

See this other post with a similar question



回答2:

The value that you're seeing is the ToString() value. What you're looking for is:

response["_links"]

For a full example see: http://james.newtonking.com/projects/json/help/html/ModifyJson.htm



回答3:

Yes, you are not alone, I also faced similar issue ( without hangover ;P )

I just modified the file for a space or line and rebuild the entire solution, started working fine in debug mode also...

Happy Holidays!