我有以下JSON
文本:
{
"PropOne": {
"Text": "Data"
}
"PropTwo": "Data2"
}
我希望将PropOne
反序列化为类型PropOneClass
,而不需要对对象上的任何其他属性进行反序列化。使用JSON.NET可以做到这一点吗?
发布于 2013-10-18 07:40:01
JSON不是太大,所以我将采纳Matt Johnson的建议并对整个JSON进行反序列化。多亏了jcwrequests answer,我才能使用这个方法:
var jObject = JObject.Parse(json);
var jToken = jObject.GetValue("PropTwo");
PropTwoClass value = jToken.ToObject(typeof(PropTwoClass));
发布于 2016-08-13 21:29:06
Omar's answer的一种更简单的解决方案是使用包装器。
class Wrapper
{
public PropOneClass PropOne;
}
JsonConvert.Deserialize<Wrapper>(json).PropOne
我的测试发现它快了大约30%。
发布于 2013-10-18 06:45:08
var json = "{ "PropOne": { "Text": "Data" } "PropTwo": "Data2" }";
JObject o = JObject.Parse(json);
var val = o.PropTwo;
使用JSON Linq提供程序,您不需要将对象反序列化为已知类型。
https://stackoverflow.com/questions/19438472
复制相似问题