2016-12-27 155 views
0

我正在使用C#。嘗試使用json請求正文發送http請求\

我想用下面的JSON體發送HTTP請求:

{ 
    "Content": 
    { 
     "Id": 12345, 
     "Fields" : 
     { 
      "1111": 
      { 
       "Value" : "FilePath;\\172.1.1.1\c$\test\test.exe,", 
       "FieldId" : 1111 
      } 
     } 
    } 
} 

的請求失敗,因爲\\

我該如何解決它?

我可以用另一個字符替換所有的\\,但我沒有服務器端,所以我不能替換它。

+0

您可以對html進行編碼/解碼'\' –

+2

創建類,填充數據並對其進行序列化。 'var json = Newtonsoft.Json.JsonConvert.SerializeObject(yourclassInstance);' – Fabio

+0

@BérangerJSON不會執行HTML編碼,但''''''正常的HTML編碼只是''''',所以不會有任何幫助。 – hvd

回答

0

就我個人而言,我會說解決方案是按照法比奧的建議去做。創建一個類並使用NewtonSoft Json庫將對象序列化爲Json字符串。

但是,如果您正在尋找快速和骯髒的解決方案,您可以用另一個反斜槓來避免反斜槓。這將使其有效json。

{ 
    "Content": { 
     "Id": 12345, 
     "Fields": { 
      "1111": { 
       "Value": "FilePath;\\\\172.1.1.1\\c$\\test\\test.exe,", 
       "FieldId": 1111 
      } 
     } 
    } 
}