如何在 C# 中读取 JSON 对象数据
本文关键字:JSON 对象 数据 读取 | 更新日期: 2023-09-27 18:32:32
我有 json 字符串
{
"isSuccess": true,
"responseMessage": "Voucher Code is valid!",
"responseData": {
"vouchername": "COMPANY",
"vouchercode": "sss12",
"vouchervalue": "100"
}
}
如何在 C# 代码中读取此 JSON 数据?
使用 JsonConvert.DeserializeObject() 将此字符串反序列化为类类型,然后以通常的方式访问其属性。
public class Rootobject
{
public bool isSuccess { get; set; }
public string responseMessage { get; set; }
public Responsedata responseData { get; set; }
}
public class Responsedata
{
public string vouchername { get; set; }
public string vouchercode { get; set; }
public string vouchervalue { get; set; }
}
然后,您可以像这样访问值
var results = JsonConvert.DeserializeObject<Rootobject>(json);
var strResponseMessage = results.responseMessage ;
var strVoucherName = results.responseData.vouchername;
dbc 提供的链接非常有用。请看一下<</p>
您可以通过不同的方式对 json 数据进行解压缩。要么为 json 值创建一个类,要么使用字典并在序列化后从中访问数据。
对于此代码,您需要添加对项目的引用"System.Web.Extensions.dll"
using System.Web.Script.Serialization;
var jss = new JavaScriptSerializer();
var dict = jss.Deserialize<Dictionary<string,dynamic>>(jsonText);
您可以通过以下方式访问所需的字段
bool isSuccess = Convert.ToBool(dict["isSuccess"]);
string vouchername = Convert.ToString(dict["responseData"]["vouchername"]);
- 创建可以反序列化 json 字符串的 c# 类。你可以在这里做 json2csharp.com
- 将牛顿软件 json Nuget 包添加到解决方案中。
- 然后你可以像这样反序列化你的字符串,
var requestToken = JsonConvert.DeserializeObject<(RequestToken)>(Content);
哪里RequestToken 是 C# 类名,Content 是 json 字符串。
谢谢。