解析javascript中带有转义双引号属性的JSON对象
Parsing a JSON object with escaped double quote attributes in javascript
在阅读了一些关于在javascript中解析对象的问题后,我仍然有解析以下查询响应的问题:
{"messagesProfile": "[{'"message'": '"This is a test message'", '"sender'": '"test@test.com'", '"receiver
'": '"test@test.com'"}, {'"message'": '"This is a second test message'", '"sender'": '"test@test.com
'", '"receiver'": '"test@test.com'"}, {'"message'": '"This is a third test message'", '"sender'": '"test
@test.com'", '"receiver'": '"test@test.com'"}]", "successProfileMessages": true}
解析上述响应的代码是:
if(data.successProfileMessages === false) {
alert("Failed to retrieve messages");
} else {
if(typeof data.messagesProfile != "undefined" && data.messagesProfile != null && data.messagesProfile.length > 0) {
messages = messages + "<tr>";
messages = messages + "<td>";
messages = messages + "There are no messages yet!";
messages = messages + "</td>";
messages = messages + "<td>";
} else {
// Successfully retrieved messages
for(var i in data) {
messages = messages + "<tr>";
messages = messages + "<td>";
messages = messages + data.messagesProfile.sender[i];
messages = messages + "</td>";
messages = messages + "<td>";
messages = messages + data.messagesProfile.message[i];
messages = messages + "</td>";
messages = messages + "</tr>";
}
}
}
如何可以不转义转义双引号和迭代JSON对象的数组字段?
"[{'"message'": '"This is a test message'", '"sender'": '"test@test.com'", '"receiver
'": '"test@test.com'"}, {'"message'": '"This is a second test message'", '"sender'": '"test@test.com
'", '"receiver'": '"test@test.com'"}, {'"message'": '"This is a third test message'", '"sender'": '"test
@test.com'", '"receiver'": '"test@test.com'"}]"
data
的messageProfile属性是一个字符串,所以您需要解析它
您可以在else
子句
var arrayResult = JSON.parse(data.messagesProfile);
for (var i = 0, len = arrayResult.length; i < len; i++) {
var item = arrayResult[i];
// do your stuff
}
对于迭代数组,我不鼓励使用for (var i in arrayResult)
,因为它不会给你想要的结果。它将遍历对象的所有属性(包括长度属性!!!!!)
相关文章:
- 如何向JSON数组动态添加属性
- 创建新属性后的 JSON 空属性
- 使用XPath样式访问Javascript JSON对象属性
- 在不使用lodash-get的情况下从json中提取深层属性
- json-api和错误结果:无法读取属性'长度'的未定义
- 无法使用ng repeat检索动态创建的JSON对象的属性
- 使用json数据更改视频标签中的src属性
- 只将JSON中的属性加载到现有的javascript对象中,而不破坏方法
- 访问嵌套 json 对象的属性将返回未定义
- JSON.parse:应为''或'}'在对象的属性值之后
- 正在打印JSON属性
- 无法将 json 数据添加到 pyjade 中的数据属性
- 如何解析文本区域中的结构化字符串数据(接近JSON)以检索其所需的属性
- 如何从具有动态可观察属性的淘汰对象中获取 JSON 字符串
- 如何将返回一串数字的 JSON 属性转换为日期
- Gmaps4rails:如何向 json 添加属性
- 向 JSON 对象属性添加引号
- 将地理 JSON 要素属性添加到地图框弹出窗口
- 如何在 JSF 中将 JS 函数作为 JSON 属性传递给前端
- 当图像和链接是 json 对象属性的值时,它们不起作用