当前位置: 首页 > wzjs >正文

株洲建设网站的公司口碑好的设计培训机构

株洲建设网站的公司,口碑好的设计培训机构,网站域名所有权,三个小伙毕业了做购物网站的电视剧除了使用实体类解析JSON,还有几种更便捷的方式,具体取决于你的需求和项目环境。以下是几种常见的方法: 例如我要解析这串json字符串: {"status": true,"code": "200","message": "…

除了使用实体类解析JSON,还有几种更便捷的方式,具体取决于你的需求和项目环境。以下是几种常见的方法:
例如我要解析这串json字符串:

{"status": true,"code": "200","message": "登陆成功","data": {"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9","userName": "超级管理员","img": "Upload/Tables/Sys_User/202504130014502760/2.png"}
}

常用写法:

要将给定的JSON数据转换为C#实体类,可以按照以下步骤进行:

  1. 创建一个表示整个响应的类。
  2. 创建一个表示data字段内容的嵌套类。
    以下是转换后的C#实体类代码:
public class LoginResponse
{public bool Status { get; set; }public string Code { get; set; }public string Message { get; set; }public Data Data { get; set; }
}public class Data
{public string Token { get; set; }public string UserName { get; set; }public string Img { get; set; }
}

将JSON数据反序列化为LoginResponse对象。例如,使用Newtonsoft.Json库进行反序列化:

using Newtonsoft.Json;string json = @"{""status"": true,""code"": ""310"",""message"": ""登陆成功"",""data"": {""token"": ""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"",""userName"": ""超级管理员"",""img"": ""Upload/Tables/Sys_User/202204130014502760/2.png""}
}";LoginResponse response = JsonConvert.DeserializeObject<LoginResponse>(json);

1. 使用匿名类型

如果你只需要访问JSON中的某些字段,并且不想定义完整的实体类,可以使用匿名类型。这种方法适用于临时或一次性解析。

using Newtonsoft.Json.Linq;string json = @"{""status"": true,""code"": ""310"",""message"": ""登陆成功"",""data"": {""token"": ""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"",""userName"": ""超级管理员"",""img"": ""Upload/Tables/Sys_User/202204130014502760/2.png""}
}";dynamic response = JObject.Parse(json);bool status = response.status;
string code = response.code;
string message = response.message;
string token = response.data.token;
string userName = response.data.userName;
string img = response.data.img;

2. 使用 ExpandoObject

ExpandoObject 是一个动态对象,可以让你在运行时添加属性。

using Newtonsoft.Json;string json = @"{""status"": true,""code"": ""310"",""message"": ""登陆成功"",""data"": {""token"": ""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"",""userName"": ""超级管理员"",""img"": ""Upload/Tables/Sys_User/202204130014502760/2.png""}
}";dynamic response = JsonConvert.DeserializeObject<ExpandoObject>(json);bool status = response.status;
string code = response.code;
string message = response.message;
string token = response.data.token;
string userName = response.data.userName;
string img = response.data.img;

3. 使用 Dictionary<string, object>

如果你需要更灵活地处理JSON数据,可以将其反序列化为字典。

using Newtonsoft.Json;string json = @"{""status"": true,""code"": ""310"",""message"": ""登陆成功"",""data"": {""token"": ""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"",""userName"": ""超级管理员"",""img"": ""Upload/Tables/Sys_User/202204130014502760/2.png""}
}";var response = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);bool status = (bool)response["status"];
string code = (string)response["code"];
string message = (string)response["message"];
var data = (Dictionary<string, object>)response["data"];
string token = (string)data["token"];
string userName = (string)data["userName"];
string img = (string)data["img"];

4. 使用 JsonDocument (System.Text.Json)

如果你使用的是 .NET Core 3.0 或更高版本,可以使用 System.Text.Json 命名空间中的 JsonDocument 类。

using System.Text.Json;string json = @"{""status"": true,""code"": ""310"",""message"": ""登陆成功"",""data"": {""token"": ""eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"",""userName"": ""超级管理员"",""img"": ""Upload/Tables/Sys_User/202204130014502760/2.png""}
}";using JsonDocument doc = JsonDocument.Parse(json);
JsonElement root = doc.RootElement;bool status = root.GetProperty("status").GetBoolean();
string code = root.GetProperty("code").GetString();
string message = root.GetProperty("message").GetString();
JsonElement data = root.GetProperty("data");
string token = data.GetProperty("token").GetString();
string userName = data.GetProperty("userName").GetString();
string img = data.GetProperty("img").GetString();

这些方法各有优缺点,选择哪种方法取决于你的具体需求和项目的复杂性。如果你需要强类型检查和编译时安全性,使用实体类是最合适的选择。如果你需要灵活性和快速开发,匿名类型或 ExpandoObject 可能更适合。

http://www.dtcms.com/wzjs/122645.html

相关文章:

  • 制作网站专业公司吗app拉新推广平台渠道商
  • php 手机网站广告联盟官网入口
  • 机械行业做网站百度建立自己的网站
  • 网页传奇游戏黑屏怎么解决李飞seo
  • html5手机网站分辩率做一个网站的步骤
  • 山西宏图建设集团有限公司网站百度指数使用指南
  • wordpress 本地运行深圳市企业网站seo营销工具
  • 做购物平台网站需要多少资金剪辑培训班一般学费多少
  • 关于建设商城网站费用cdq百度指数
  • 如何做学校的网站设计广州网站建设技术外包
  • 广州网站开发哪家公司好今日足球赛事分析推荐
  • 苏州姑苏区专业做网站中国国家数据统计网
  • 江苏网站建设渠道东莞网站建设快速排名
  • 企业信息管理平台网站seo关键词排名推广
  • 哪些网站做电商比较好全国疫情一览表
  • 长春网站建设SEO优化营销做一个电商平台大概需要多少钱
  • 多媒体网页设计是什么广州seo外包公司
  • 网站公告建设方案技师培训
  • 大公司做网站的优势软文平台
  • 网站 只做程序百度关键词排名点击
  • 临海建设规划信息网网站网盘搜索引擎
  • 做网站前需要做什么准备重庆网站建设推广
  • 公司网站维护好做吗百度注册页面
  • 制作企业免费网站seo站点是什么意思
  • 站内信息 wordpress南宁求介绍seo软件
  • 做律师百度推广的网站百度推广竞价
  • 网站如何更换域名seo完整教程视频教程
  • 自己做的网站怎么挣钱seo建站
  • 做网站卖仿品整站优化
  • wordpress 站内信 群发seo托管公司