是否有一个JSON库C#像C++ SDK休息网站:: JSON ::值,可以反序列化JSON不明

是否有一个JSON库C#像C++ SDK休息网站:: JSON ::值,可以反序列化JSON不明

问题描述:

检查以前的答案(3100),无法找到该是否有一个JSON库C#像C++ SDK休息网站:: JSON ::值,可以反序列化JSON不明

问题的直接的答案:

当试图从服务器API解析数据时,数据具有许多不同的布局,具体取决于与请求的资源相关联的数据。

有些时候,答案是一些入口点的非结构化数据的集合,这些是APP需要解析的。

Json.NET JSON框架.NET从Newtonsoft要求已经定义匹配“以前知道结构”针对序列化JSON被反序列化的先决条件一流。

显然为序列化和反序列化任何.NET对象并与.NET对象工作,但不序列化和反序列化JSON在JSON对象,并用像用C++休息那些对象的工作SDK web :: json :: value类。

有些请求已结构化信息,并解决了定义.NET对象和反序列化它们,但当索要额外的资源数据的答案可能是(以及许多其他):

[ 
    null 
    ] 

[ 
    { 
     "item": "value" 
    } 
    ] 

[ 
    { 
     "item": "value" 
    }, 
    { 
     "item2": {} 
    }, 
    { 
     "item3": { 
      "feature": "string feature", 
      "feature2": { 
       "object feature": "large object (replaced by string for simplicity)" 
      } 
     } 
    }, 
    { 
     "item4": "large object (replaced by string for simplicity too)" 
    } 
    ] 

任何人都可以知道是否有一种方法(招,破解版)要做到这一点或方式来支持通用的JSON对象可用于序列化,反序列化和查询,设置,修改JSON对象?

+1

可以使用Newtonsoft解析在JObject/JArray JSON字符串,而无需预定义的C#类 – Jason

+0

反序列化和序列化是一个格式转换和从对象,解析是为json,并且newtonsoft可以解析json,并且可以查询json而不会将其放入对象中 –

+0

修改了您的问题以取出另一个库的请求,因为特别迂回的人会将其视为offtopic :) –

您可以使用ExpandoObject

var converter = new ExpandoObjectConverter(); 
dynamic obj = JsonConvert.DeserializeObject<ExpandoObject>(json, converter); 
+0

抛出异常: System.InvalidCastException:指定的转换无效。 at(wrapper castclass)System.Object:__ castclass_with_cache(object,intptr,intptr) at Newtonsoft.Json.JsonConvert.DeserializeObject [T](System.String value,Newtonsoft.Json.JsonConverter []转换器) – TrustworthySystems

+0

什么是json你提供给它的输入? – CodingYoshi

+0

第一个(当没有额外信息时): ' json =“[null]”; ' – TrustworthySystems