C#中创建对应模型解析JSON字符串以获取currentCard下code值的方法
C# 实体类定义与JSON解析方案
1. 完整C#实体类定义
以下实体类完全匹配你给出的JSON结构,同时兼容.NET官方System.Text.Json和第三方常用Newtonsoft.Json序列化库:
// 最外层根对象 public class RootObject { // System.Text.Json 用JsonPropertyName特性,Newtonsoft.Json替换为JsonProperty即可 [JsonPropertyName("status")] public OuterStatus Status { get; set; } } // 根节点下status字段对应的类 public class OuterStatus { [JsonPropertyName("currentCard")] public CurrentCard CurrentCard { get; set; } [JsonPropertyName("status")] public InnerStatus Status { get; set; } } // currentCard节点对应的类 public class CurrentCard { [JsonPropertyName("code")] public string Code { get; set; } } // 内层status节点对应的类 public class InnerStatus { [JsonPropertyName("index")] public int Index { get; set; } [JsonPropertyName("value")] public string Value { get; set; } }
如果你只需要获取
currentCard下的code值,不需要处理其他字段,可以简化实体类,无需定义InnerStatus相关结构即可正常解析。
2. 解析JSON并获取目标值示例
使用.NET自带System.Text.Json(.NET Core 3.0+ / .NET 5+ 支持,无需额外安装NuGet包)
using System.Text.Json; // 替换为你从API获取到的JSON字符串 string apiJson = "你的JSON字符串内容"; // 反序列化为实体对象 RootObject result = JsonSerializer.Deserialize<RootObject>(apiJson); // 直接获取你需要的code值 string targetCode = result.Status.CurrentCard.Code; // 校验值是否符合要求的逻辑示例 if(targetCode == "platinum") { // 执行对应业务逻辑 }
使用Newtonsoft.Json(Json.NET,兼容全版本.NET,需先安装Newtonsoft.Json NuGet包)
using Newtonsoft.Json; string apiJson = "你的JSON字符串内容"; RootObject result = JsonConvert.DeserializeObject<RootObject>(apiJson); string targetCode = result.Status.CurrentCard.Code;
内容的提问来源于stack exchange,提问作者Ralph Jason Caballes
相关产品推荐
相关产品推荐

