显示输入JSON的内容

时间:2013-04-25 10:41:49

标签: javascript jquery json

问题::

我知道这是一个多余的问题,但我在其他类似问题上找不到任何帮助......

我有一个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')

3 个答案:

答案 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');
});

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

答案 1 :(得分:0)

使用JSON.stringify(yourjsonobjecthere)

答案 2 :(得分:0)

尝试div.innerHTML = JSON.stringify(jsonfromfile[element]);