问题::
我知道这是一个多余的问题,但我在其他类似问题上找不到任何帮助......
我有一个json文件。
我可以加载json,但是当我尝试使用此
输出特定元素时div.innerHTML = jsonfromfile[element];
我只能得到这个......
[object Object]
作为我的输出......
如何显示整个元素而不是此[object Object]?
更多代码,以了解它是如何完成的......
var activity;
function jsfr() {
$.getJSON('myjson.json', function(response){
jsonfromfile = response;
})
}
解决方案::来自Francis Stalin的回答
我添加了一个新功能......
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中。尝试将要打印的div类的名称添加到一个句点,appendTo('。outputbox')
答案 0 :(得分:1)
你不能将json对象直接附加到你的html中。你必须解析并转换成字符串
$.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');
});
答案 1 :(得分:0)
使用JSON.stringify(yourjsonobjecthere)
答案 2 :(得分:0)
尝试div.innerHTML = JSON.stringify(jsonfromfile[element]);