加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSON.Net将内部对象转换为C#模型

发布时间:2020-12-16 19:32:27 所属栏目:百科 来源:网络整理
导读:我从远程API返回以下 JSON(我无法修改返回的 JSON) { "APITicket": { "location": "SOMEVALUE","ticket": "SOMEVALUE" }} 现在使用JSON.Net将其转换为模型我必须创建2个模型. public class TicketModel { public string location { get; set; } public strin
我从远程API返回以下 JSON(我无法修改返回的 JSON)
{
    "APITicket": {
        "location": "SOMEVALUE","ticket": "SOMEVALUE"
    }
}

现在使用JSON.Net将其转换为模型我必须创建2个模型.

public class TicketModel
    {
        public string location { get; set; }
        public string ticket { get; set; }
    }

    public class TicketContainer
    {
        public TicketModel APITicket { get; set; } 
    }

并做一些像..

var myObject = JsonConvert.DeserializeObject<TicketContainer>(this.JSONResponse);

这很有效 – 当我有大约50次调用API并且真的不想为每个调用创建第二个“容器”时,我的问题就出现了.有没有办法将上面的例子直接绑定到TicketModel?

你可以这样做:
var json = @"
            {
                'APITicket': {
                    'location': 'SOMEVALUE','ticket': 'SOMEVALUE'
                }
            }";

//Parse the JSON:
var jObject = JObject.Parse(json);

//Select the nested property (we expect only one):
var jProperty = (JProperty)jObject.Children().Single();

//Deserialize it's value to a TicketModel instance:
var ticket = jProperty.Value.ToObject<TicketModel>();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读