如何转义JS和JSON之间的双引号
How to escape double quotes between JS and JSON
我正在尝试在JS中构造一个字符串,该字符串可以作为具有非常特殊格式的JSON传递到JSON中。所需结果是以下形式的字符串:
["PNG","350x150","127 KB"]
其中PNG
对应于特定图像的类型,其中350x150
是图像的尺寸,其中127 KB
是图像的大小。这三个值中的每一个都是字符串变量:
var imgType = getImageType(); // Returns "PNG"
var imgDim = getImageDim(); // Returns "350x150"
var imgSize = getImageSize(); // Returns "127 KB"
var imgDescription = '["' + imgType + '","' + imgDim + '","' + imgSize + '"]';
// Sanity check
alert(imgDescription);
iVO.images[thisImage] = {
"fizz":"buzz",
"imgDesc":imgDescription,
"foo":"bar"
}
alert(JSON.stringify(iVO));
第一个警报(在imgDescription
变量上(打印:
["PNG","350x150","127 KB"]
目前为止,一切都好。但是,当我们将其传递给iVO
构造并字符串化生成的 JSON 时,它会生成以下输出(在我漂亮地打印格式化它之后(:
{
"images":
{
"4490i45"":
{
"fizz":"buzz",
"imgDesc":"['"PNG'",'"350x150'",'"127 KB'"]",
"foo":"bar"
}
}
}
我所有的双引号 ("( 都被转义了 (''"(!!此外,imgDesc
的值括在双引号中,这不是我们想要的(请参阅下面的所需 JSON(:
当我将此 JSON 发送回服务器时,它会导致服务器阻塞。
不知道这里发生了什么,但我尝试了其他几个建议,包括用''x22'
没有帮助的实例替换我的双引号。
关于如何解决此问题以从JSON.stringify(iVO)
中获得所需结果的任何想法?最终,这是唯一重要的事情,我们最终将以下内容发送到服务器:
{
"images":
{
"4490i45"":
{
"fizz":"buzz",
"imgDesc":["PNG","350x150","127 KB"],
"foo":"bar"
}
}
}
没有转义的双引号,并且 imgDesc
的值没有双引号。提前感谢!
你为什么不把imgdescription作为常规数组
var imgDescription = [imgType , imgDim, imgSize];
Stringify 应该处理您要做的事情,否则您将 imgDescription 作为字符串传递,而 stringify 将转义引号。
例如
var imgType = "PNG";
var imgDim = "350x150";
var imgSize = "127 KB";
var d = {
"fizz":"buzz",
"imgDesc":[imgType , imgDim, imgSize],
"foo":"bar"
}
console.log(JSON.stringify(d));
输出:
{"fizz":"buzz","imgDesc":["PNG","350x150","127 KB"],"foo":"bar"}
相关文章:
- Json和$scope的角度之间的差异$eval应用于JSON字符串时
- 如何将json文件中的数据提取到对象数组中,并在两个控制器之间共享
- 如何通过jQuery Ajax在HTML和PHP之间来回传输json字符串
- Postgresql JSON 键在字母之间显示下划线
- html页面之间传递的JSON数据
- 在JavaScript函数之间传递JSON值
- 为什么 JSON 中的对象之间有逗号
- 使用 JSON 在 python 和 javascript 之间传递数据
- 在 JSON/View in onPreResponse in happy.js 之间切换
- AngularJS检查下载的json是否在工作副本之间有差异
- 数据类型 jsonp 和 JSON 之间的区别
- 循环遍历 JSON,在对象之间插入键/值
- JSON和Javascript数组之间的“交互”(和语法)
- Express.js 中 res.send 和 res.json 之间的区别
- 如何转义JS和JSON之间的双引号
- 使用 WebRTC 在浏览器之间传输 JSON
- 原型函数和 json 表示法函数之间的区别
- Json在警报语句和函数之间不一致
- 在Angular模型中,可以在JSON对象和字符串之间切换值类型吗
- 通过JSON在数据库之间传递信息