0

質問 ::

これは冗長な質問であることは承知していますが、他の同様の質問ではほとんど役に立ちません...

私はjsonファイルを持っています。

jsonは問題なく読み込めますが、これで特定の要素を出力しようとすると

div.innerHTML = jsonfromfile[element];

これしかわかりません…

[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 のクラスの名前にピリオドを付けて入れてみてください、appendTo('.outputbox')

4

3 に答える 3

1

json オブジェクトを ur 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/

于 2013-04-25T10:59:41.000 に答える
0

使用するJSON.stringify(yourjsonobjecthere)

于 2013-04-25T10:43:23.373 に答える
0

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

于 2013-04-25T10:43:56.057 に答える