草庐IT

JContainer

全部标签

c# - 动态 JContainer (JSON.NET) & 在运行时迭代属性

我在MVC4/.NET4WebApiController操作中收到一个JSON字符串。该操作的参数是dynamic,因为我在接收端对接收到的JSON对象一无所知。publicdynamicPost(dynamicmyobject)JSON被自动解析,生成的dynamic对象是Newtonsoft.Json.Linq.JContainer。正如预期的那样,我可以在运行时评估属性,因此如果JSON包含类似myobject.myproperty的内容,那么我现在可以获取接收到的动态对象并在C#代码中调用myobject.myproperty。到目前为止一切顺利。现在我想遍历作为JSON一部分

c# - JContainer、JObject、JToken和Linq混淆

我无法理解何时使用JContainer、JObject和JToken。我从“标准”中了解到JObject由JProperties组成,并且JToken是所有JToken的基本抽象类类型,但我不明白JContainer.我正在使用C#,我刚刚购买了LinqPadPro5。我在一个文件中有一个JSON数据源,因此我正在使用以下语句成功地反序列化该文件的内容:stringjson;using(StreamReaderreader=newStreamReader(@"myjsonfile.json")){json=reader.ReadToEnd();}此时,我将JSON字符串对象反序列化为J