2

このような JSON 応答から JavaScript を使用して値を取得するにはどうすればよいですか。通常の JSON 解析を試してみましたが、うまくいかないようです

[["102",true,{"username":"someone"}]]

以下のようなコードを試しました:

url: "http://somewebsite.com/api.php?v=json&i=[[102]]",
onComplete: function (response) {
var data = response.json[0];
console.log("User: " + data.username); // doesnt work
4

3 に答える 3

3

したがって、これの問題は、配列内の配列のように見えることです。したがって、要素にアクセスするには、次のようにします。

console.log(obj[0][0]);  

印刷する必要があります102

次のようにオブジェクトを作成したとしましょう。

var obj = [["102",true,{"username":someone}]];  

これは、各要素にアクセスする方法です。

obj[0][0]102

obj[0][1]istrue
およびisと定義されて obj[0][2]["username"]いるものは何でもsomeone

他の人の回答から、JSON 文字列の解析に問題があるようです。これを行う標準的な方法は use ですJSON.parse。これは、データが文字列の場合にのみ必要であることに注意してください。これは、それが行われるべき方法です。

var obj = JSON.parse(" [ [ "102", true, { "username" : someone } ] ] ")
于 2013-07-19T03:41:33.823 に答える
3

JSON をどこから取得しているかによって異なります。

jQueryを使う場合

jQuery は JSON 自体を解析し、JavaScript 変数をコールバック関数に送信します。$.ajax 呼び出しで正しい dataType を指定するか、$.getJSON() などのヘルパー メソッドを使用してください。

プレーンな AJAX 経由で JSON データを取得する場合

次に、次のことができます。

var jsonVar = JSON.parse(xhReq.responseText);
于 2013-07-19T03:45:03.330 に答える