我使用jQuery ajax从PHP脚本获取存储在MySQL数据库中的数据。我正在解析以JSON格式返回的数据并将其显示在表格中。
问题是其中一个元素以json格式存储,因此MySQL返回整个数据并以相同的方式显示。
$.each(data, function (key, element) {
$('table').append('<tr><td>' + element.aid + '</td><td>' + element.userid + '</td><td>' + element.atitle + '</td><td>' + element.atype + '</td><td>' + element.adata + '</td></tr>');
});
element.adata以下列方式显示:
{
"click_title":"GO",
"links": {
"commonlink":"http:\/\/bookings.com",
"alllinks": [
[{
"link1":"http:\/\/xyz1.com\/get\/a",
"link2":"http:\/\/www.anotherwebsite1.com\/c\/t",
"link3":"http:\/\/www.newsite1.com\/v\/h"
},{
"link1":"http:\/\/xyz2.com\/get\/a",
"link2":"http:\/\/www.anotherwebsite2.com\/c\/t",
"link3":"http:\/\/www.newsite2.com\/v\/h"
}],[{
"link1":"http:\/\/xyz3.com\/get\/a",
"link2":"http:\/\/www.anotherwebsite3.com\/c\/t",
"link3":"http:\/\/www.newsite3.com\/v\/h"
}]
]
}
}
如何访问链接以便以更好的方式显示它们?
答案 0 :(得分:1)
您可以使用$.parseJSON()
函数将JSON字符串解析为javascript对象:
var data = $.parseJSON(element.adata);
然后访问各个元素。例如:
data.links[0][0].link1
或者如果你事先不知道元素的数量,你也可以使用$ .each循环遍历它们。