2012-09-18 33 views
-1

我有json對象,我想把它放在html頁面中。使用jquery格式json在html中

這裏是JSON:

[ 
    { 
     "name":"Temoignage", 
     "id":"2" 
    }, 
    { 
     "name":"Bien etre", 
     "id":"3" 
    }, 
    { 
     "name":"paradis", 
     "id":"5" 
    }, 
    { 
     "name":"guerir", 
     "id":"6" 
    }, 
    { 
     "name":"energie", 
     "id":"9" 
    } 
] 

我想使用附加功能來把這個像div標籤:

<div id="content"> 
<p><a href="id"> name </a></p> 
<p><a href="id"> name </a></p> 
<p><a href="id"> name </a></p> 
. 
. 
. 
</div> 

注:身份證和名字是我的JSON對象的條目。

+0

你守ld把json放在jsfiddle中:沒人想點擊那個鏈接,誰知道後面是什麼? – frenchie

+0

{「name」:「Temoignage」,「id」:「2」},{「name」:「Bien etre」,「id」:「3」},{「name」:「paradis」 :「5」},{「name」:「guerir」,「id」:「6」},{「name」:「energie」,「id」:「9」}] – Mamadou

+0

@frenchie我認爲這不是真的。 – feeela

回答

2

遍歷您的陣列使用each並追加每個項目使用appendTocontent格:

var json = [{"name":"Temoignage","id":"2"},{"name":"Bien etre","id":"3"},{"name":"paradis","id":"5"},{"name":"guerir","id":"6"},{"name":"energie","id":"9"}]​; 

var $content = $("#content"); 
$.each(json, function() { 
    $("<a>", { href: this.id }).text(this.name).appendTo($content).wrap("<p>"); 
}); 

DEMO

6
var items=""; 
$.each(data,function(index,item){ 
    items+="<p><a href='"+item.id+"'>"+item.name+"</a></p>"; 
}); 
$("#content").html(items); 

假設數據變量將有JSON數據。

工作樣本http://jsfiddle.net/Qq2e6/

JsonLint是驗證JSON一個有用的工具,當你使用JSON工作

0
var jsArray; // Your JSON content into this variable 

$.each(jsArray, function(i,e) { 
    var $element = $("<p>").append($("<a>").attr('id', e.id).text(e.name)), 
    $("#content").append($element); 
}); 

<div id="content"> 

</div> 

另外,我建議你學習MVVM(Knockout.js)這樣的事情,它分離你的圖層,並使這個過程更容易。

1

作爲替代方案,您還可以使用其中的許多模板庫之一。

下面是使用Mustache.js

撥弄一個例子:http://jsfiddle.net/bboone/dCVwt/1

JS

var json = [{"name":"Temoignage","id":"2"},{"name":"Bien etre","id":"3"},{"name":"paradis","id":"5"},{"name":"guerir","id":"6"},{"name":"energie","id":"9"}]; 

$('#content').html(Mustache.render($('#template').html(), {items:json})); 

HTML

<div id='content'></div> 
<script type='text/html' id='template'> 
    {{#items}} 
     <p><a href="{{id}}">{{name}}</a></p> 
    {{/items}} 
</script>​