将内联json提取为JS和HTML的最佳方法是什么?

时间:2015-06-10 09:06:05

标签: jquery json

将内联JSON中的数据提取到JS DOM中的最佳方法是什么。

<script id="catjson" type="application/json">
{
    "Page": [
        {
            "catfull": [
                {
                    "id": "1",
                    "tag": "seotag1",
                    "link": "http://somelink1/",
                    "toptext": "top text 1",
                    "bottomtext": "bottom text 1",
                    "src": "http://*****/media/wysiwyg/assets/pages/timberland/middlespot1.jpg",
                    "type": "image"
                },
                {
                    "id": "2",
                    "tag": "seotag2",
                    "link": "http://somelink2/",
                    "toptext": "top text 2",
                    "bottomtext": "bottom text 2",
                    "src": "http://****/media/wysiwyg/assets/pages/timberland/middlespot2.jpg",
                    "type": "image"
                }
            ]
        }
    ]
}
</script> 

我想从这个JSON中提取某些元素(例如Id 2的图像src)

我试过了:

var str = JSON.parse(document.getElementById('catjson').innerHTML);
console.log(str.Page.catfull.id[1].src);

这不起作用,并说该路径不存在。这有效console.log(str.Page);,但会吐出完整的JSON。

2 个答案:

答案 0 :(得分:2)

var data = JSON.parse($("#catjson").html());
console.log(data.Page[0].catfull[0].src);

https://jsfiddle.net/79Lw769c/3/ 这里有一个小提琴,我用jquery,btw

或在原始代码中放入正确的索引

console.log(str.Page[0].catfull[0].src);

答案 1 :(得分:0)

var str = JSON.parse(document.getElementById('catjson').innerHTML);
console.log(str.Page.catfull[1].src);

catfull [0]是第一个(id 1),依此类推。