将JSON字符串反序列化为指定的.NET对象类型 您所在的位置:网站首页 js字符串反序列化 将JSON字符串反序列化为指定的.NET对象类型

将JSON字符串反序列化为指定的.NET对象类型

2024-06-18 20:52| 来源: 网络整理| 查看: 265

前言:

  关于将JSON字符串反序列化为指定的.NET对象类型数据常见的场景主要是关于网络请求接口,获取到请求成功的响应数据。本篇主要讲的的是如何通过使用Newtonsoft.Json中的JsonConvert.DeserializeObject(string value)方法将对应的JSON字符串转化为指定的.NET对象类型数据。

方法一、在项目中定义对应的对象参数模型,用于映射反序列化出来的参数(复杂JSON字符串数据推荐使用):

如下是一组.NET后台请求接口成功获取到的复杂的JSON字符串数据:

代码语言:javascript复制{ "id": "123456", "result": { "data": { "liveToken": "zxcvbnm", "liveStatus": 1, "liveType": 1, "deviceId": "1234567890", "channelId": "0", "coverUpdate": 30, "streams": [{ "hls": "zxcv.safd", "coverUrl": "http://asdaf", "streamId": 0 }], "job": [{ "status": true, "period": "always" }] }, "code": "0", "msg": "操作成功" } }

根据该组JSON字符串格式数据定义对应的对象参数模型:

代码语言:javascript复制 public class BindDeviceLiveHttpsResponse { public BindDeviceLiveHttpsResult result { get; set; } public string id { get; set; } } public class BindDeviceLiveHttpsResult { public BindDeviceLiveHttpsData data { get; set; } public string code { get; set; } public string msg { get; set; } } public class BindDeviceLiveHttpsData { public string liveToken { get; set; } public int liveStatus { get; set; } public int liveType { get; set; } public string deviceId { get; set; } public string channelId { get; set; } public int coverUpdate { get; set; } public List streams { get; set; } public List job { get; set; } } public class BindDeviceLiveHttpsStreams { public string hls { get; set; } public string coverUrl { get; set; } public int streamId { get; set; } } public class BindDeviceLiveHttpsJob { public bool status { get; set; } public string period { get; set; } }

通过JsonConvert.DeserializeObject(string value)反序列化:

代码语言:javascript复制var resultContext = JsonConvert.DeserializeObject(JSON字符串数据); //最后我们可以通过对象点属性名称获取到对应的数据方法二、直接将JSON字符串格式数据反序列化转化为字典数据(简单JSON字符串数据推荐使用):

如下一组简单的JSON字符串格式数据:

代码语言:javascript复制{ "id": "123456", "code": "0", "msg": "操作成功" }

通过JsonConvert.DeserializeObject(string value)方法反序列化为字典数据,在通过key访问对应的value的值:

代码语言:javascript复制var resultContext=JsonConvert.DeserializeObject(JSON格式数据); //获取msg的值: var msg=resultContext["msg"]; 输出为:操作成功


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有