簡體   English   中英

無效的JSON字符串,無法發布到C#Web API?

[英]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; }
}

由於您的ProcessIDint

如果無法正確獲取問題,請嘗試將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM