仕事の事やプライベートな事を適当に書いていくブログ

Teaが適当に仕事や趣味のアレコレを適当に書いていくブログです。

【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]);
	}
}

といった具合にやれば取り出せるんじゃないかなぁ~(´・_・`)