1

jqueryで解析したい単純なjsonがあります。parseJSONを使用しているコードですが、jqueryでは機​​能しません

var json = '['+{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}+']';

json をアラートすると、[object][Object] が表示されます

var getReq = jQuery.parseJSON(json);//i tried json[0] also but no luck
$.each(getReq, function(id, key) {

    alert(key+'='+id);
});

1つずつトラバースしたい。

ここで私は何も得ることができませんか?

4

3 に答える 3

3

ここに表示されているのは JSON 文字列ではありません。有効な JSON 文字列は次のようになります。

var json = '[{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]';

これで解析できます:

var getReq = jQuery.parseJSON(json);
$.each(getReq, function(index, element) {
    $.each(element, function(key, value) {
        console.log(key + '=' + value);    
    });
});

一方、すでに javascript 変数がある場合は、何も解析する必要がなく、直接アクセスできます。

var getReq = [{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}];
$.each(getReq, function(index, element) {
    $.each(element, function(key, value) {
        console.log(key + '=' + value);    
    });
});

また、表示され$.eachた JSON 文字列はいくつかのオブジェクトの配列を表しているため、2 つのステートメントを使用していることにも注意してください。最初のループは配列を通過し、内側のループは配列内の各オブジェクトのプロパティを通過します。

于 2013-04-08T06:04:23.210 に答える
1

ええ、あなたjsonは間違っています。"[[object Object]]"文字列「[」と「]」を JavaScript オブジェクト ({} 内の部分) に追加しているため、文字列として評価されます。

試す

var obj = [{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]

今は解析する必要はありません。これはすでに JavaScript オブジェクトです。

JSON バージョンが必要な場合は、それを呼び出すことができますJSON.stringify

 '[{"lead_req_id":"","listing_id_1_ref":"RH-R-17","listing_id_1":"17"}]'
于 2013-04-08T06:03:28.190 に答える