最近Javaが嫌いから少し嫌いにステップアップしたしののめ(@Shinogasa)です.
ネストされたハッシュデータを取得するのに手間取ったのでメモ.
こんな感じのJSONが投げられてきた
{ "hoge": "fuga", "call":{ "yeah": "tiger", "fivo": "wiper" } }
これからネスト内のデータを取得したかった.
Public void catch_data(HashMap<String, Object> info) { //fugaを取りたいとき String get_fuga = (String) info.get("hoge"); log.debug("get_fuga : {}",get_fuga); //get_fuga : fuga //tigerを取りたいとき HashMap<String, Object> get_call = (HashMap<String, Object> info.get("call"); String get_tiger = (String) get_call.get("yeah"); log.debug("get_tiger : {}",get_tiger); //get_tiger : tiger //1行でtigerを取りたいとき String get_tiger1 = (String) ((HashMap<String, Object>) info.get("call")).get("yeah"); log.debug("get_tiger1 : {}",get_tiger1); //get_tiger1 : tiger }
単純に要素に対して2回getしてやったら良いだけなのに結構悩みました.
難しいですね.
参考
複数キーを持つハッシュデータ - Qiita
作り方自体はもうこれ書いてあるままじゃねえか!という話でしか無いんですけど hashdata.java Map<String, Map<String,Integer>> map = new HashMa...
コメント