我想用Java创建一个这样的JSON:
"foo": { "key1": "value1", "key2": "value2", }
我知道如何创建键值json或json数组,但我不知道如何创建这样的structure。接下来我可以尝试什么?
structure
flmtquvp1#
看起来你的值更相对于java的Map。所以你需要找到如何用java将Map转换为json。通常json处理是用json和gson等框架执行的。但是你可以用StringBuilder类手动完成。参考下面的例子用java手动创建json。
Map
StringBuilder
使用java手动创建json
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); //convert it to json maually StringBuilder builder = new StringBuilder(); builder.append("\"foo\":{"); builder.append("\n"); for (String key : map.keySet()) { builder.append("\t"); builder.append("\"").append(key).append("\""); builder.append(":"); builder.append("\"").append(map.get(key)).append("\""); builder.append(","); builder.append("\n"); } builder.append("\t}"); String json = builder.toString(); System.out.println(json);
输出:
"foo":{ "key2":"value2", "key1":"value1", }
使用jackson将Map<K,V>转换为json,请参考以下示例。
Map<K,V>
Map<String, String> map = new HashMap<>(); map.put("key1", "value1"); map.put("key2", "value2"); String json = new ObjectMapper().writeValueAsString(map); System.out.println(json);
1条答案
按热度按时间flmtquvp1#
看起来你的值更相对于java的
Map
。所以你需要找到如何用java将Map
转换为json。通常json处理是用json和gson等框架执行的。但是你可以用StringBuilder
类手动完成。参考下面的例子用java手动创建json。使用java手动创建json
输出:
使用jackson将
Map<K,V>
转换为json,请参考以下示例。