【js】jsonデータの配列を取得して取り出すお話
こんな初歩的なPOSTで申し訳ないぐらいネタが無いのですが
これで勘弁して下さい(´・ω・`)
どうも、Teaです。
SEさんと連携してjsonのやり取りをする場合、僕の場合は先行して仮のjsonデータを作ってjsを作っていくんですが、
「こんな感じのjsonデータでお願いします!」と意気揚々と伝えても返ってきたデータで「^^;」とこんな感じの顔になってしまう場合があります。
まぁ修正してもらえばそれでいいのですが、お忙しいSEさんにこんな程度のお願いをするのもやぶさかだなと。
でっ本題ですが、「^^;」←こんな感じの顔になるときは、下記のようなjsonデータだった場合が多いです。
var a = [ { "count":1, "hoge":[ "fuga01", "fuga02" ], "hage":{ "1":"gosu", "2":"mezu" } }, { "count":2, "hoge":[ "fuga03", "fuga04" ], "hage":{ "1":"gosu1", "2":"mezu2" } }, ]
「1」とか「2」とか振るぐらいなら、単配列にしておいてくれよ!
と切実に思うわけなんですが、こんな単配列と連想配列が混じったデータを扱う際
僕は下記の方法で取得してます。
※もっと簡単な方法あれば教えて下さい
【前提条件】
IE8+
モダンブラウザ最新
単配列の「hoge」を取り出すとしたら
for (var i = 0; i < a.length; i++) { for (var j = 0; j < a[i]["hoge"].length; j++) { console.log(a[i]["hoge"][j]); }; };
といった感じにforで回せば取り出せますね。
では連想配列の「hage」を取り出すとしたら
for (var i = 0; i < a.length; i++) { for(key in a[i]["hage"]){ console.log(a[i]["hage"][key]); } }
といった具合にやれば取り出せるんじゃないかなぁ~(´・_・`)