【发布时间】:2018-10-25 16:30:13
【问题描述】:
我从[HttpPost] 获得以下格式的 JSON 数据。我想反序列化为两个 C# 模型。
data {{
"invoiceNumber": "55",
"invoiceDate": "2018-10-25T13:16:37.843Z",
"invoiceValue": 55,
"remarks": null,'
"items": [
{
"gRNNo": "0000000",
"itemCode": 1,
"itemDesc": "Lux",
"qty": "2",
},
{
"gRNNo": "0000000",
"itemCode": 2,
"itemDesc": "Rexona",
"qty": "1"
}
]
}}
我可以获取 Header 数据,但可以获取 items 数组。
PurHeader purHeader = JsonConvert.DeserializeObject<PurHeader>(data.ToString()); //Working for Header
但未能获取数组数据。我试过了。
List<PurDetail> purDetail = JsonConvert.DeserializeObject<List<PurDetail>>(data["items"].ToString());
var purDetail = JsonConvert.DeserializeObject<PurDetail[]>(data["items"].ToString());
我的课程 - 我在 Code First 中使用它们。而datajson 来自Angular 7 ReactiveForms
public class PurHeader
{
public string GRNNo { get; set; }
public string InvoiceNumber { get; set; }
public DateTime InvoiceDate { get; set; }
public decimal InvoiceValue { get; set; }
public string Remarks { get; set; }
public ICollection<PurDetail> PurDetail { get; set; }
}
public class PurDetail
{
public string GRNNo { get; set; }
public string ItemCode { get; set; }
public string ItemDesc { get; set; }
public decimal Qty { get; set; }
[ForeignKey("GRNNo")]
public PurHeader PurHeader { get; set; }
}
【问题讨论】:
-
你能发布 C# 类吗?我不知道
PurHeader和PurDetails是什么... -
你的
data对象是什么类型的? -
您写过“数据 json 来自 Angular 7 ReactiveForms” 但是您的 ASP.NET 代码中的数据类型是什么?说到控制器。
-
作为 [FromBody] JObject 数据接收。需要发送到 PurHeader 和 PurDetail 数组。
标签: c# json asp.net-core-2.1