2016-12-27 157 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 
      } 
     } 
    } 
}