Newtonsoft 获取动态key的json数据

在反序列化一些json数据的过程中,有些数据根本没有办法反序列化,因为json数据的key值是动态的,另外还有一些key值是数字的,也没有办法反序列化到c# 类。

反序列化是没希望,但总可以读出来吧,寒, 要不然就要换掉Newtonsoft了。

举例:


 

代码
            string str = "{\"3\":123,body:456,list:{title:'abc',body:'what'}}";
            JObject o 
= JObject.Parse(str);
            IEnumerable
<JProperty> properties = o.Properties();
            
foreach (JProperty item in properties)
            {
                Console.WriteLine(item.Name 
+ ":" + item.Value);
            }

 如果str 是个数组,则可以相应用JArray a = JArray.Parse(str); 来处理,不过目前还不知道无限包含子集怎么处理。

比如 

string str = "{\"3\":123,body:456,list:{title:'abc',body:{a:{a:{a:{a:{a:'......'}}}}}}}"; 

网上资料甚少,官方那个Quick Starts看了晕,除了一大堆的声明,未见实质的sample,要看声明,难道要看它的这个帮助文档?右键--转到定义,不就可以了吗? 

  

原文地址:https://www.cnblogs.com/szyicol/p/1662686.html