Java : [標準API]Map<String,Object>型を JSONパース可能な1行のString型に変換。
標準APIのみで、Map<String,Object>(最終的にはMap<String,String>)を、JSONのパースが可能な1行の文字列に変換する再帰関数。
Java1.8。
以下コード。
こういう状況なら、JavaScrirptで以下のような取扱いが可能。
Java1.8。
以下コード。
/** * Map型をJSONパース前のString平坦文に変更。 * @param map : Map<String,Object>型で定義されている。終端の要素はMap<String,String>であってほしい。 * @return 引数 map をString型に変換した状態。 */ @SuppressWarnings("unchecked") private String mapToString(Map<String, Object> map) { String sss = "{"; for (Entry<String, Object> e : map.entrySet()) { if ( e.getValue() instanceof Map ) { sss += "\"" + e.getKey() + "\":"; sss += mapToString((Map<String, Object>)e.getValue()); sss = sss.substring(0, sss.length() - 1) + "},"; } else { sss += "\"" + e.getKey() + "\":\"" + e.getValue() + "\","; } } return sss.substring(0, sss.length() - 1) + "}"; }
こういう状況なら、JavaScrirptで以下のような取扱いが可能。
var j = JSON.parse(sss)
コメント
コメントを投稿