2013-04-25 97 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