如何使用 Dojo.fromJson 反序列化包含控制字符的 Json 对象

How to deserialize Json object which contain control character using Dojo.fromJson

本文关键字:控制字符 Json 对象 包含 反序列化 何使用 Dojo fromJson      更新时间:2023-09-26

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

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

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

谢谢!

问题,我相信是双引号,应该用三个反斜杠转义。您可以使用"本机浏览器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'123''r"}//你的单反斜杠
  • 这将起作用:
  • {"name":"'''''''"abc'''''123''''''r"}//工作三反斜杠转义