如何在对象表示法(JSON)中插入变量字符串?

时间:2013-01-22 18:09:41

标签: javascript jquery json object-notation

以此JSON对象为例:

"pages": {
    "start": {
        ....
    },
    "page1": {
        ....
    },
    "page2": {
        ....
    },
    ....
}

现在通过jQuery ajax函数,我加载上面的JSON对象并将其结果保存到变量中。到现在为止还挺好。 然后我有一些像这样的HTML:

<div class="container" page-data="start">
    <h2></h2>
</div>    
<div class="container" page-data="start">
    <h2></h2>
</div>    
<div class="container" page-data="page1">
    <h2></h2>
</div>    
<div class="container" page-data="page2">
    <h2></h2>
</div>

现在我写了这个函数来使用JSON数据:

function createContent(el) {
    var page, $obj;
    page = [];
    $obj = el;
    $obj.each(function(index) {
        page[index] = $(this).attr('page-data');
        $(this).find('h2').html(jsonData.pages. + page[index] + .value);
    });
}
//here I start the function
$(document).ready(function(){
    createContent($('.container'));
});

上述功能的这一部分不起作用:

$(this).find('h2').html(jsonData.pages. + page[index] + .value);

这很明显,因为对象notaion不仅仅是一个字符串值。现在,有什么方法可以将它与有效的对象表示法结合起来吗?

1 个答案:

答案 0 :(得分:3)

使用[]表示法访问对象成员。

...
$(this).find('h2').html(jsonData.pages[page[index]].value);
...