带引号的C#StringBuilder(forJSON)

我已经构建了一个JSON字符串(将发布到Web服务),并且我使用了C#StringBuilder类来做到这一点。问题是,当我插入引号时,StringBuilder类将其转义。

我目前正在像这样构建JSON字符串:

StringBuilder dataJSON= new StringBuilder();

dataJSON.Append("{");

dataJSON.Append(" " + Convert.ToChar(34) + "data" + Convert.ToChar(34) + ": {");

dataJSON.Append(" " + Convert.ToChar(34) + "urls" + Convert.ToChar(34) + ": [");

dataJSON.Append(" {" + Convert.ToChar(34) + "url" + Convert.ToChar(34) + ": " + Convert.ToChar(34) + domain + "/" + path[0] + Convert.ToChar(34) + "}");

dataJSON.Append(" ,{" + Convert.ToChar(34) + "url" + Convert.ToChar(34) + ": " + Convert.ToChar(34) + domain + "/" + path[1] + Convert.ToChar(34) + "}");

dataJSON.Append(" ]");

dataJSON.Append(" }");

dataJSON.Append("}");

但是,命令: dataJSON.ToString();导致字符串:

{  \"data\": {  \"urls\": [  {\"url\": \"domain/test1.html\"}  , {\"url\": \"domain/test2.html\"}  ]  }}

注意到转义的引号了吗?这真的让我很烦,因为服务器无法处理斜线。

我想要的(当我使用PHP时可以很好地发布到服务器上) 应该 是:

{  "data": {  "urls": [  {"url": "domain/test1.html"}  , {"url": "domain/test2.html"}  ]  }}

有没有办法在C#中获取字符串以包含引号,从而产生所需的字符串?

非常感谢!布雷特

回答:

“快速监视/监视”窗口将添加其他内容\。如果在“文本可视化器”中查看它,则不会看到它们:

快速观察:

"{  \"data\": {  \"urls\": [  {\"url\": \"domain/path1\"}  ,{\"url\": 

\"domain/path2\"} ] }}"

可视化器(实际输出):

{  "data": {  "urls": [  {"url": "domain/path1"}  ,{"url": "domain/path2"}  ]  }}

\指示报价已经越狱和你希望他们能够将被包含在最终的字符串。也就是说,您的输出 。

注意 我用"\""而不是Convert.ToChar(34)当我测试这个。

以上是 带引号的C#StringBuilder(forJSON) 的全部内容, 来源链接: utcz.com/qa/409248.html

回到顶部