2013-04-25 100 views
0
內容

問題::顯示輸入JSON

我知道這是一個多餘的問題,但我發現在其他類似的問題幫助不大...

我有一個JSON文件。

我可以加載JSON很好,但是當我嘗試輸出與此

div.innerHTML = jsonfromfile[element]; 

我只得到這個特定的元素...

[object Object] 

我的輸出...

如何讓整個元素顯示而不是[object Object]?

更多的代碼來獲得它是如何正在做起來的感覺......

var activity; 
function jsfr() { 
    $.getJSON('myjson.json', function(response){ 
    jsonfromfile = response; 
    }) 
} 

解決方案::從弗朗西斯斯大林的回答

我添加了一個新功能......

 var items; 
    function outty(data) { 

      $.each(data, function(key, val) { 
       items=items+key+","+val+";"; 
      }); 
    } 

和我設置的JSON留下我一個對象,我發送到outty深度.. 。

dpth = jsonfromfile["elementOne"]["elSubone"]["elsuboneSub"]; 
    outty(dpth); 
    div.innerHTML=items; 

這裏顯示的DIV所有打印到HTML ...

<div class="col-rght"> 
     <div class="text" id="postcomp"></div> 
    </div> <!--div class="col-rght"--> 

這就使你想要的JSON深度的對象變成一個醜陋的字符串,然後你可以爲顯示格式..

如果你喜歡HTML列表看看斯大林是如何做到的,但厭倦了appendTo的(」 div')...這將把你的列表放在每個div中。嘗試把要打印與一個時期領先的IT類的div的名稱,appendTo(「 outputbox」)

+0

'[對象的對象]'是對象的默認字符串表示。您可以將對象轉換回JSON並顯示它。 – 2013-04-25 10:43:28

+0

如何將它轉換回json? – Peregrine 2013-04-25 10:47:43

+1

'JSON.stringify' – 2013-04-25 11:33:20

回答

1

你不能追加json對象直接導入到ur html中。 u必須解析和轉換成字符串

$.getJSON('myjson.json', function(data) { 
var items = []; 
$.each(data, function(key, val) { 
items.push('<li id="' + key + '">' + val + '</li>'); 
}); 
$('<ul/>', { 
'class': 'my-new-list', 
html: items.join('') 
}).appendTo('div'); 
}); 

http://api.jquery.com/jQuery.getJSON/

+0

但我只想顯示某些元素和他們的下屬由用戶輸入指定。 .each()函數是否必須在getJSON()函數內部? – Peregrine 2013-04-25 11:09:08

+0

我把它放在原樣,但仍然沒有顯示任何 – Peregrine 2013-04-25 11:31:03

+0

優秀,終於做了一些機動,並得到它的工作。感謝您的幫助和解釋。 – Peregrine 2013-04-25 12:36:29

0

使用JSON.stringify(yourjsonobjecthere)

+0

與這有沒有放置到div? – Peregrine 2013-04-25 10:46:27

+0

我給你一般的可讀表示的格式。在這種情況下,你會想''div.innerHTML = JSON.stringify(jsonfromfile [element])' – 2013-04-25 10:48:20

+0

是的,我已經做到了......仍然空着 – Peregrine 2013-04-25 10:50:26

0

嘗試div.innerHTML = JSON.stringify(jsonfromfile[element]);

+0

與這有沒有放置到div? – Peregrine 2013-04-25 10:47:09

+0

'JSON.stringify(jsonfromfile [element])'將返回一個字符串。你確定'div'指向一個DOM元素嗎?如果'div'是一個jQuery對象,請使用'div [0]' – Osiris 2013-04-25 10:48:36

+0

我知道div運行良好。如果我通過一系列從屬元素並請求該元素的值,但json仍在工作,但我想打印所有元素及其下屬和它們的值 – Peregrine 2013-04-25 10:58:35