这时我实体类有个 Name
我怎么样才能直接用下面这个json直接反序列化到 Name 属性上
{"response":{“name”:"213213"}}
能直接用[]特性的怎么弄。
基类加了一个自定义反序列化方法
看看NewtonSoft.Json
或者
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
return string.Join(",",objs);
反序列化成动态对象.想怎么用怎么用.
只能整个字符串反序列化.
就是不想反序列化成动态对象。现在api里全都是这种类型的json
我开发的sdk里面要固定的实体类.属性也不能随着api里的变。
我只知道怎么定义他要解析的名称[JsonProperty(PropertyName="rp_session")]
不知道怎么直接自定义解析里层的。
@lihelin: 这种东西在性能上没什么好处.还破坏了默认规则.最好json结构怎么样,就定义怎么样的实体.
不然2个东西结构不一样.像上面说的自定义反序列化方法.其实已经把json结构解析出来了.
可以再定义一个实体.然后在2个对象之间转换.也好过从字符串转换到对象的时候修改结构.
减少后面别人修改代码成本
JObject jObject = JObject.Parse("{'response':{'name':'213213'}}"); JObject name = (JObject)jObject["response"]; Console.WriteLine(name["name"]); Console.ReadKey();