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:'......'}}}}}}}";