在反序列化一些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:'......'}}}}}}}"; 

 

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐