0

我正在使用 Dojo.fromJson 将 json 字符串转换为 javascript 对象,但抛出异常。因为,',\n,\r在 json 字符串中有控制字符。

如何在道场中解决这个问题?将 json 字符串转换为 javascript 对象,即使有控制字符。

我使用 Newtonsoft.JsonConvert.SerializeObject 将 C# oject 转换为 json 数据。Json Object:{"name":"'\"abc\n123\r"}然后,我使用Dojo.fromJson(' {"name":"'\"abc\n123\r"}')将 json 数据转换为 javascript 对象。

非常感谢!

4

1 回答 1

0

问题,我相信应该用三重反斜杠转义的双引号。您可以使用“本机浏览器 JSON 解码”作为“dojo fromJson”同义词的搜索词。

在不了解 C# 的情况下 - 我没有测试过,但我相信以下应该可以工作:

string c_sharp_name = "'\"abc\n123\r";
// C#Object.name
c_sharp_name = c_sharp_name.
  replace('"', '\\"'). // maybe add a slash on serverside
  replace('\n', '\\\n').
  replace('\r', '\\\r');

自从

  • 虽然这失败了:
  • {"name":"'\"abc\n123\r"} // 你的单反斜杠
  • 这会起作用:
  • {"name":"'\\\"abc\\\n123\\\r"} // 工作三反斜杠转义
于 2012-06-12T11:24:30.293 回答