C# 如何读取原始JSON字符串值部分,如下所述
我的输入字符串是:C# 如何读取原始JSON字符串值部分,如下所述,c#,asp.net,.net-core,asp.net-core-webapi,C#,Asp.net,.net Core,Asp.net Core Webapi,我的输入字符串是: {"data": "{ \"AckNo\":\"112110045659900\", \"AckDt\":\"2021-01-24 01:14:00\", \"Irn\":\"543e3dcd9ecd215ffdb75496a72d5272922b1a929f6c8f728298a9db910c8c5b\"}"} 我
{"data": "{
\"AckNo\":\"112110045659900\",
\"AckDt\":\"2021-01-24 01:14:00\",
\"Irn\":\"543e3dcd9ecd215ffdb75496a72d5272922b1a929f6c8f728298a9db910c8c5b\"}"}
我想读取AckNo
,AckDt
,Irn
的数据
如何分离或拆分
数据
节点的上述值部分。请检查以下线程。它会帮助你的
您只需要创建一个类,该类可以表示json字符串并跟随它
您在另一个JSON中有一个JSON。。。使用: 如果
ackDt
是可选的,您可以:
var ackDt = (DateTime?)desInner["AckDt"];
如果希望ackNo
成为一个数字:
long ackNo = (long)desInner["AckNo"];
或者(如果可选):
首先,创建一个与json匹配的类结构
public class MyData
{
public Details Data { get; set; }
}
public class Details
{
public string AckNo { get; set; }
public DateTime AckDt { get; set; }
public string Irn { get; set; }
}
然后使用jsonvert
对其进行反序列化。
安装包NewtonSoft.Json
以使用jsonvert
var result = JsonConvert.DeserializeObject<MyData>(yourInputString);
var ackNo = result.Data.AckNo;
var ackDt = result.Data.AckDt;
var irn = result.Data.Irn;
var result=JsonConvert.DeserializeObject(yourInputString);
var ackNo=result.Data.ackNo;
var ackDt=result.Data.ackDt;
var irn=result.Data.irn;
如果不想反序列化到自定义类,可以使用Newtonsoft.JSON。
public class MyData
{
public Details Data { get; set; }
}
public class Details
{
public string AckNo { get; set; }
public DateTime AckDt { get; set; }
public string Irn { get; set; }
}
var result = JsonConvert.DeserializeObject<MyData>(yourInputString);
var ackNo = result.Data.AckNo;
var ackDt = result.Data.AckDt;
var irn = result.Data.Irn;