首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSON.NET反序列化特定属性

JSON.NET反序列化特定属性
EN

Stack Overflow用户
提问于 2013-10-18 06:33:15
回答 5查看 41.5K关注 0票数 29

我有以下JSON文本:

代码语言:javascript
复制
{
    "PropOne": {
        "Text": "Data"
    }
    "PropTwo": "Data2"
}    

我希望将PropOne反序列化为类型PropOneClass,而不需要对对象上的任何其他属性进行反序列化。使用JSON.NET可以做到这一点吗?

EN

回答 5

Stack Overflow用户

发布于 2013-10-18 07:40:01

JSON不是太大,所以我将采纳Matt Johnson的建议并对整个JSON进行反序列化。多亏了jcwrequests answer,我才能使用这个方法:

代码语言:javascript
复制
var jObject = JObject.Parse(json);
var jToken = jObject.GetValue("PropTwo");
PropTwoClass value = jToken.ToObject(typeof(PropTwoClass));
票数 44
EN

Stack Overflow用户

发布于 2016-08-13 21:29:06

Omar's answer的一种更简单的解决方案是使用包装器。

代码语言:javascript
复制
class Wrapper
{
    public PropOneClass PropOne;
}

JsonConvert.Deserialize<Wrapper>(json).PropOne

我的测试发现它快了大约30%。

票数 11
EN

Stack Overflow用户

发布于 2013-10-18 06:45:08

代码语言:javascript
复制
 var json = "{ "PropOne": { "Text": "Data" } "PropTwo": "Data2" }";

 JObject o = JObject.Parse(json);
 var val = o.PropTwo;

使用JSON Linq提供程序,您不需要将对象反序列化为已知类型。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19438472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档