【发布时间】:2011-12-17 22:22:30
【问题描述】:
我的数据包括英寸和脚标记(\" 和 \'),来自 AJAX 调用的响应返回有效 JSON(\" 被转义,而 ' 不是),我在 HTML 表单中使用.
使用以下 JSON 响应:(其他商品可能有多个价格/尺寸组合,因此是列表;此示例为简洁起见)
{"pl":{"common":"","price":[219],"size":["2\""]}}
注意 2 英寸的大小有正确的 JSON 转义 \"。
使用以下 javascript(使用 jQuery .getJSON)返回的数据不包括转义字符:
$.getJSON(url,
{data},
function(json){
var obj = json.pl.size;
var options = '<option value="">Size</option>';
for (var i = 0; i < obj.length; i++) {
// possible for size to have \' and/or \" chars
options += '<option value="' + obj[i] + '">' + obj[i] + '</option>';
}
// populate the select box with the options
});
成功函数返回:
json: Object
pl: Object
common: ""
price: Array[1]
size: Array[1]
0: "2""
注意size[0] 数据不再有转义的"
问题 1. 为什么成功响应中不考虑 JSON 转义数据?
对于咯咯笑:
- 在 HTML 表单中转义这些数据的最佳方法是什么。
【问题讨论】: