2016-10-27 9 views
0

jQueryのjson文字列マップを読み込もうとしています。jsonのjsonマップ文字列を読む

無効なオペランドすべてのヘルプは高く評価され、エラー

:私は以下の方法が、取得を試みました。 A、カテゴリ1 - - カテゴリ1期待

var data = '{"Category1":["A","B","C"],"Category2":["P","Q","R"]}'; 

$.each(data, function(k,v) { 
    console.log(k + " " + v); 

    $.each(v, function(item) { 
     console.log(k + "-" + item); 
    } 
}); 

Bを...

+0

var dataは文字列ではありません.. – kamesh

+0

あなたの 'data'変数は' $ .each'を使うStringです。文字列をJSONに変換する必要があります。 'JSON.parse' –

答えて

0

リトル変更、まさにこの何をしたいです。助け

var data='{"Category1":["A","B","C"],"Category2":["P","Q","R"]}'; 
 

 
$.each(JSON.parse(data), function (k, v) { 
 
    console.log(k + " "+ v); 
 
    $.each(v, function (i, data) { 
 
     console.log(k + ' - ', data); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

希望!

+0

Satendraありがとう、期待どおりに動作しています。 –

0

使用JSON.parse JSON文字列を解析します。あなたはそれらのインデックスによって配列のアイテムを取得する必要があるよう は使用v[item]コード -

var data='{"Category1":["A","B","C"],"Category2":["P","Q","R"]}'; 
 
//use JSON.parse to parse a JSON string 
 
$.each(JSON.parse(data), function(k,v) { 
 
    console.log(k +" "+v); 
 
    $.each(v, function(item) { 
 
      console.log(k +"-"+item); 
 
    });//here you missed closing bracket 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

0

次試してみてください。 @abpatil答えで

var data={"Category1":["A","B","C"],"Category2":["P","Q","R"]}; 
 

 
$.each(data, function(k,v) { 
 
    console.log(k +" "+v); 
 
    $.each(v, function(item) { 
 
     console.log(k +"-"+v[item]); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Sunraysに感謝します。 –

+0

あなたが満足しているなら、さらにカルマを求めて投票してください。 :D –