[英]Invalid JSON string, cannot post to c# web api?
我得到了這個JSON字符串,這是怎么回事? 我可以通過幾個在線JSON測試器運行它,他們都說OK。 但是,當通過實體框架將其發布到我的c#Web api時,我的發布主體為null。 有任何想法嗎? 這是POST函數:
public void Post([FromBody]List<AIM.RunningProcess> list_runningprocesses)
{
if (list_runningprocesses == null) return;
這是JSON字符串:
[
{
"PSComputerName": "eetpcx31v.admin.eetp.local",
"ProcessName": "AcroRd32.exe",
"ProcessID": 14240,
"CommandLine": ".C:\\Program Files (x86)\\Adobe\\Reader 10.0\\Reader\\AcroRd32.exe. .C:\\Users\\jmetzler\\AppData\\Local\\Microsoft\\Windows\\Temporary Internet Files\\Content.Outlook\\VG2QRLL8\\Pöyry_RevealingFlexibilityValueStudy_Proposal_v2_0.pdf.",
"CreationDate": "Oct 24 2013 14:21:09",
"Username": "jmetzler",
"RemoteIP": null
}
]
顯然,它由於CommandLine屬性而失敗。 “命令行”的數據庫列屬性為varchar(8000)。 這是“ RunningProcess”類。
public partial class RunningProcess
{
public string PSComputerName { get; set; }
public string ProcessName { get; set; }
public string ProcessID { get; set; }
public string CommandLine { get; set; }
public Nullable<System.DateTime> CreationDate { get; set; }
public string Username { get; set; }
public string RemoteIP { get; set; }
}
有人知道嗎
使用http://json2csharp.com/生成C#類。 答案中的類是從同一站點生成的。
通過JSON,您的類應類似於:
public class RootObject
{
public string PSComputerName { get; set; }
public string ProcessName { get; set; }
public int ProcessID { get; set; }
public string CommandLine { get; set; }
public DateTime CreationDate { get; set; }
public string Username { get; set; }
public string RemoteIP { get; set; }
}
由於您的ProcessID
為int
。
如果無法正確獲取問題,請嘗試將JSON字符串更改為:
{list_runningprocesses:
[
{
"PSComputerName": "eetpcx31v.admin.eetp.local",
"ProcessName": "AcroRd32.exe",
"ProcessID": 14240,
"CommandLine": ".C:\\Program Files (x86)\\Adobe\\Reader 10.0\\Reader\\AcroRd32.exe. .C:\\Users\\jmetzler\\AppData\\Local\\Microsoft\\Windows\\Temporary Internet Files\\Content.Outlook\\VG2QRLL8\\Pöyry_RevealingFlexibilityValueStudy_Proposal_v2_0.pdf.",
"CreationDate": "Oct 24 2013 14:21:09",
"Username": "jmetzler",
"RemoteIP": null
}
]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.