JSON 到 class 匹配的字符串在 asp.net 核心中不起作用
JSON String to class matching not working in asp.net core
此 JSON 字符串来自 Post 请求:
{"nbr":3,"name":"Standort 3","siteID":0,"state":0,"dateCreated":""}
无法与此 c# 匹配 class:
public class Site
{
public int Nbr { get; set; }
public string Name { get; set; }
public int SiteID { get; set; }
public int State { get; set; }
public string DateCreated { get; set; }
}
我有一个类似的更复杂的 class 正在工作。
你所拥有的很好,可能是你错过了将接收请求的控制器上的 [FromBody]。如果您可以共享控制器接收请求的部分,我们将能够更好地帮助您
您需要匹配大小写才能正常工作,即您的 JSON 必须以大写开头。
DateTime 解析也可能存在问题,但可能是区分大小写。因此,如果固定为大写 dosnt 工作,请确保正确转换 DataTime。
使用 Newtonsoft.Json 库对其进行反序列化。对我有用
像这样:
var xJson = "{ 'nbr':3,'name':'Standort 3','siteID':0,'state':0,'dateCreated':''}";
var xPars = JsonConvert.DeserializeObject<Site>(xJson);
此 JSON 字符串来自 Post 请求:
{"nbr":3,"name":"Standort 3","siteID":0,"state":0,"dateCreated":""}
无法与此 c# 匹配 class:
public class Site
{
public int Nbr { get; set; }
public string Name { get; set; }
public int SiteID { get; set; }
public int State { get; set; }
public string DateCreated { get; set; }
}
我有一个类似的更复杂的 class 正在工作。
你所拥有的很好,可能是你错过了将接收请求的控制器上的 [FromBody]。如果您可以共享控制器接收请求的部分,我们将能够更好地帮助您
您需要匹配大小写才能正常工作,即您的 JSON 必须以大写开头。 DateTime 解析也可能存在问题,但可能是区分大小写。因此,如果固定为大写 dosnt 工作,请确保正确转换 DataTime。
使用 Newtonsoft.Json 库对其进行反序列化。对我有用
像这样:
var xJson = "{ 'nbr':3,'name':'Standort 3','siteID':0,'state':0,'dateCreated':''}";
var xPars = JsonConvert.DeserializeObject<Site>(xJson);