2017-11-08 19 views
-1

作成している配列に問題があるため、jsTreeにデータを設定できません。XMLデータからjsTreeのJSONオブジェクトを作成する

jsTreeあなたはJSONデータを渡すことができますので、私はjsTreeが好きになるオブジェクトの配列をフォーマットしようとしている:

var myAry = []; 

    $(xml).find('group').each(function() { 

     myAry.push({ 
     "id": $(this).find('GroupID').text(), 
     "parent": "#", 
     "text": $(this).find('GroupName').text(), 

     }); 
    }); 

私はコンソールに[myAry]ダンプするとき、それがどのように見えます適切にフォーマットされた配列ですが、jsTreeはそれを好きではありません。しかし、私が手動で配列を作成すると、jsTreeはそれを好きにします:

var testAry = [ 
        {"id": "42", "parent": "#", "text": "Foo"}, 
        {"id": "69", "parent": "#", "text": "Bar"}, 
        {"id": "1", "parent": "#", "text": "Dolphin"}, 

    ]; 

私のループではどうなりますか?

enter image description here

+1

あなたのダンプされたAryは、あなたのtestAryの例と比べてどうですか? – Taplar

+0

@Taplar Chromeからのコンソール出力を含めました。内容は同じですが、[{...}、{...}、{...}]と一緒に一番上に数えていないので正しく形成されなかったと私は信じました。 – raydlevel5

+1

https://jsfiddle.net/q3s3o4ja/2/私に同じように見えます。 – Taplar

答えて

-1

これは(jQueryのドキュメントから)を助けることができる:

の$ .each()関数を反復するために使用される$(セレクタ).each()と同じではありません排他的に、jQueryオブジェクトで実行されます。

使用しているメソッドはセレクタ引数を受け取りますが、JSONオブジェクトの名前を渡しています。

$.each()を試してみてください。

+0

https://jsfiddle.net/q3s3o4ja/ @vashzak – Taplar

+0

@Taplarありがとうございます。 OPにはXMLソースが含まれていないので、私はドキュメントを外していました。 – vashzak

関連する問題