我打算创建一个具有以下结构的JSON数组。元数据标签将在所有条目中保持不变。我很难过。
@function calculateRem($size)
$remSize: $size / 16px
@return $remSize * 1rem
=font-size($size)
font-size: $size
font-size: calculateRem($size)
答案 0 :(得分:1)
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);
两个片段都来自杰克逊自己的链接维基文章。
如果配置正确,杰克逊应该能够自动将此POJO解析为等效的JSON。 注意:杰克逊必须在全球注册,并且必须了解它。请阅读您使用的维基知识... Jackson in 5 Minutes
否则你可以像Neeraj那样手动构建JSON。
答案 1 :(得分:0)
JSONArray array = new JSONArray(); // Create JSONArray Object
JSONObject jsonObject = new JSONObject(); // Your JSONObject which gets added into array
jsonObject.put("metadata",new MetaDataCustomClass("SomeRandomStringValue"));
jsonObject.put("name", "Neeraj");
jsonObject.put("id", "123");
array.add(jsonObject); // Here you push the jsonObject into Array.
注意: MetaDataCustomClass
只是一个具有String类型的Value实例变量的自定义类。
Class MetaDataCustomClass {
private String value;
public MetaDataCustomClass(String value){
this.value = value;
}
}