我想用java创建一个像这样的json:
"foo": {
"key1": "value1",
"key2": "value2",
}
我知道如何创建键值json或json数组 ,但我不知道如何创建这样的structure
。< / p>
有什么帮助?
提前感谢。
答案 0 :(得分:1)
您的值似乎与java的
Map
相关。所以你需要 找到如何使用java将Map
转换为json。通常是json 处理正在使用json和gson等框架执行。然而 您可以使用StringBuilder
课程手动完成。参考以下内容 使用java手动创建json的示例。
使用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",
}
按照以下示例将Map<K,V>
转换为带杰克逊的json。
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
String json = new ObjectMapper().writeValueAsString(map);
System.out.println(json);