获取数据表中的json数组值

时间:2012-10-04 12:09:55

标签: jquery json datatable

我有如下所示的json

{
    "aaData": [
        [
            {
                "displayValue": "Home Page",
                "link": "http://somelink.com"
            },
            "London",
            "1983"
        ],
        [
            {
                "displayValue": "Backlog",
                "link": "http://BacklogApp.com"
            },
            "Paris",
            "1999"
        ]
    ]
}

现在在js中,我使用sAjaxSource填充表。但我希望第一列成为一个链接。我正在使用fnRowCallback属性来获取数据。这里我要检查行的第一个元素是不是字符串(表示是一个数组),然后将第一个元素作为链接,如下所示

"fnRowCallback": function( nRow, aData, iDisplayIndex, iDisplayIndexFull ) {
                if(typeof aData[0] != 'string'){
                    $('td:eq(0)', nRow).html( '<a href="' + aData[0][1] +'" >'  +
                            aData[0][0] + '</a>');
                }
            }

但问题是我无法获得aData [0] [0]或aData [0] [1]值,因为它显示未定义。

有谁知道如何在这里获得“displayValue”和“link”值????

2 个答案:

答案 0 :(得分:3)

如果您正在使用包含整个JSON的对象,那么这是。您需要什么取决于您的aData内容

var data = {
   "aaData": [
        [
             {  
                "displayValue":"Home Page",
                "link":"http://somelink.com"
         },
            "London",
            "1983"
        ],
        [
            {   
                "displayValue":"Backlog",
                "link":"http://BacklogApp.com"
         },
            "Paris",
            "1999"
        ]
    ]
}

访问第一个displayValue的显示值:

data.aaData[0][0].displayValue
data.aaData[0][0].link

答案 1 :(得分:0)

我在某人评论中得到了答案,但该评论已被删除。我不知道为什么.. :(答案是访问值为aData [0] [&#39; displayValue&#39;]