我打算创建一个具有以下结构的 JSON 数组。元数据标签将在所有条目中保持不变。我很困惑。
[{
"metadata": {
"Value": "String"
},
"name": "String",
"id": "String"
},
{
"metadata": {
"Value": "String"
},
"name": "String",
"id": "String"
}
]
最佳答案
public class yourJsonObject {
private Map<String, String> metadata;
private String name;
private string id;
public yourJsonObject() {
}
public Map<String, String> getMetadata(){
return metadata;
}
public void setMetadata(Map<String, String> metadata){
this.metadata = metadata;
}
public String getName(){
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
}
然后在其他地方你可以这样做:
ObjectMapper mapper = new ObjectMapper(); // create once, reuse
yourJsonObject example = new yourJsonObject(); // have your POJO you want to save
mapper.writeValue(new File("result.json"), example);
要阅读,您可以使用:
ObjectMapper mapper = new ObjectMapper(); // create once, reuse
yourJsonObject value = mapper.readValue(new File("data.json"), yourJsonObject .class);
这两个片段均取 self 链接的 jackson 本人的 wiki 文章。
如果配置正确,Jackson 应该能够自动将此 POJO 解析为等效的 JSON。 注意: jackson 必须在全局注册并且必须了解这一点。请阅读您所使用的维基百科来了解它... Jackson in 5 Minutes
否则你可以像 Neeraj 所说的那样手动构建 JSON。
关于java - 如何创建具有这种特定结构的 JSON 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535912/