Ajax GETリクエストで特定のJsonをロードして解析しようとしました。スクリプトタグを使用しているときにJsonキーが未定義
ただし、HTMLスクリプトタグからJsonキーにアクセスしようとすると、定義されませんでした。
この問題をデバッグするために、私はJsonのすべてのキーをコンソールとJson自体に記録しました。そこで私は、この機能を利用:data.split(「,,」)の
function getInv() {
$.get("/inventory/", function(data) {
var invList = data.split(",, "); // Explanation is below
console.log(invList[0]) // Just testing with first object
console.log(Object.keys(invList[0]));
});
}
getInv();
目的:
を私のバックエンドのスクリプトは異なるプログラミング言語を使用しているので、私は1つにそれを解釈しなければなりませんでしたJavascriptに適しています。 複数のJsonオブジェクトもありましたので、",, "
でそれらを区切り、Jsonオブジェクトのリストを作成するためにJavascriptで分割します。
これだった:興味深い部分は、このようなコンソールで貼り付けJSONオブジェクトの後ということですが
:
は、関数を呼び出した後、次の出力が存在していました出力:
基本的にスクリプトタグでは、オブジェクトのキーにアクセスできませんでしたが、コンソールで手動で使用するとすべてのキーにアクセスできました。
これの背後にある目的は何でしょうか?異なる出力が与えられているのはかなり奇妙なようです。おそらく、invList[0]
はスクリプトタグ内のJsonオブジェクトではないでしょうか?ありがとう!
あなたは 'JSON.parseを使用する必要があります()'。 – Barmar
_ "複数のJsonオブジェクトもあったので、" ,, "" ... _ What? – Andy
バックエンドスクリプトでは、すべてのオブジェクトを配列に入れてから、その配列を ',,'で区切る代わりにJSONに変換することはできませんか? – Barmar