访问JSON中的JSON元素

时间:2013-03-30 09:28:17

标签: php jquery ajax json

我使用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"
         }]
        ]
    }
}

如何访问链接以便以更好的方式显示它们?

1 个答案:

答案 0 :(得分:1)

您可以使用$.parseJSON()函数将JSON字符串解析为javascript对象:

var data = $.parseJSON(element.adata);

然后访问各个元素。例如:

data.links[0][0].link1

或者如果你事先不知道元素的数量,你也可以使用$ .each循环遍历它们。