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



以这个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不仅仅是一个字符串值。现在,有什么方法可以将其组合成有效的对象表示法吗?

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

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

相关内容

  • 没有找到相关文章

最新更新