如何在 C# 中将嵌入的 JSON 字符串转换为 JSON 对象
How to convert an embedded JSON string to a JSON Object in C#
我有一个函数将 returns 数据作为 json 字符串,我在 api 中调用该字符串,但我希望我的 api 到 return json 对象而不是 json 字符串。
函数如下所示:
public JObject InquiryPaymentAPI(string id)
{
string paymentInfo = PaymentInquiry.IPayment(id);
return JObject.Parse(paymentInfo);
}
这个 return 是一个 json 对象,但嵌入部分看起来像一个空数组我如何将它获取到 return 所有数据请帮助我是 c#[= 的新手14=]
{
"paymentId": [],
"paymentRequestId": [],
"paymentAmount": [
[
[]
],
[
[]
]
],
"paymentStatus": [],
"result": [
[
[]
],
[
[]
],
[
[]
]
]
}
如果您知道 json 响应,则可以为其创建一个模型 class。在 VS 2022 上,您可以右键单击编辑器并执行特殊粘贴 Edit --> Paste special --> Paste JSON as Classes
。你应该得到类似下面的东西。
public class Model
{
public object[] paymentId { get; set; }
public object[] paymentRequestId { get; set; }
public object[][][] paymentAmount { get; set; }
public object[] paymentStatus { get; set; }
public object[][][] result { get; set; }
}
在您的代码中使用 Model
class 后,您的代码应如下所示
using System.Text.Json;
public Model InquiryPaymentAPI(string id)
{
string paymentInfo = PaymentInquiry.IPayment(id);
return JsonSerializer.Deserialize<Model>(paymentInfo);
}
我有一个函数将 returns 数据作为 json 字符串,我在 api 中调用该字符串,但我希望我的 api 到 return json 对象而不是 json 字符串。
函数如下所示:
public JObject InquiryPaymentAPI(string id)
{
string paymentInfo = PaymentInquiry.IPayment(id);
return JObject.Parse(paymentInfo);
}
这个 return 是一个 json 对象,但嵌入部分看起来像一个空数组我如何将它获取到 return 所有数据请帮助我是 c#[= 的新手14=]
{
"paymentId": [],
"paymentRequestId": [],
"paymentAmount": [
[
[]
],
[
[]
]
],
"paymentStatus": [],
"result": [
[
[]
],
[
[]
],
[
[]
]
]
}
如果您知道 json 响应,则可以为其创建一个模型 class。在 VS 2022 上,您可以右键单击编辑器并执行特殊粘贴 Edit --> Paste special --> Paste JSON as Classes
。你应该得到类似下面的东西。
public class Model
{
public object[] paymentId { get; set; }
public object[] paymentRequestId { get; set; }
public object[][][] paymentAmount { get; set; }
public object[] paymentStatus { get; set; }
public object[][][] result { get; set; }
}
在您的代码中使用 Model
class 后,您的代码应如下所示
using System.Text.Json;
public Model InquiryPaymentAPI(string id)
{
string paymentInfo = PaymentInquiry.IPayment(id);
return JsonSerializer.Deserialize<Model>(paymentInfo);
}