WebAPI 将嵌套的 JSON 转换为字符串



我有一个有点复杂的JSON进入WEBAPI -

{
"TypeInq": "ResidentialStart",
"DataInq":  {
"Account_ID": "2491054657",
"Premise_ID": "5394660000",
"DogWarning": "N",
"ServiceStartDate": "2020-01-10",
"PrimaryPerson": {
"PersonId": "0357801000",
"POS_ID_Required": "Y",
"LastName": "HOGAN",
"FirstName": "BARRY L",
"Username": "garmin789@gmail.com",
"EmailList": [
{
"Email": "garmin789@gmail.com",
"EmailType": "PERSONAL EMAIL",
"PrimaryEmailFlag": "Y",
"ActionFlag": "ADD",
"ActiveInactiveFlag": "C1AC"
}
],
"DateOfBirth": "1977-11-04",
"CurrentAddress": {
"AddressLine1": "1923 Chestnut Dr",
"City": "Pleasant hill ",
"State": "MO",
"Zip": "64080"
},
"MailingAddress": {
"PremiseID": "5394660000"
}
},
"AdditionalPersons": [
{
"PersonId": "0357801000",
"POS_ID_Required": "Y",
"LastName": "HOGAN",
"FirstName": "BARRY L",
"Username": "garmin789@gmail.com",
"EmailList": [
{
"Email": "garmin789@gmail.com",
"EmailType": "PERSONAL EMAIL",
"PrimaryEmailFlag": "Y",
"ActionFlag": "ADD",
"ActiveInactiveFlag": "C1AC"
}
],
"DateOfBirth": "1977-11-04",
"CurrentAddress": {
"AddressLine1": "1923 Chestnut Dr",
"City": "Pleasant hill ",
"State": "MO",
"Zip": "64080"
},
"MailingAddress": {
"PremiseID": "5394660000"
}
}
]
}
}

所以"TypeInq"部分似乎很好 "DataInq"部分我需要在处理之前将所有这些转换为字符串。 不是 100% 确定如何在 C# 中解决这个问题,但正在尝试这个,其中"Base"对象只有"TypeInq"和"DataInq"的字符串

[HttpPost]
[Route("CreateInquiry")]
public IHttpActionResult CreateNewInquiry(Base inqBasic)
{
string retval = "";
try
{

//return Ok();
InquiryService svc = new InquiryService();
retval = svc.CreateInquiry(inqBasic);
}
catch (Exception ex)
{
Logger.LogEx(ex);
return WebApiConfig.ExceptionResponse(this);
}
return Ok(retval);
}

您可以直接反序列化传入的 json 对象。然后,只需引用您想要的值的相应属性。

object somenewobject = new JavaScriptSerializer((。反序列化(响应。Data.ToString(((;

最新更新