Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何读取原始JSON字符串值部分,如下所述_C#_Asp.net_.net Core_Asp.net Core Webapi - Fatal编程技术网

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;