简体   繁体   English

如何创建一个字段数未知的 JSON?

[英]How to create a JSON with unknown number of fields?

I need to convert a structure like this:我需要转换这样的结构:

List<String> fields;

to JSON like this:像这样到 JSON :

{
   "field1": "data1",
   "field2": "data2",
   "field3": "data3",
   ...
}

How can I do this?我怎样才能做到这一点?

UPD: List contains values, like this: UPD:列表包含值,如下所示:

List<String> fields = List.of("data1", "data2", "data3");
ObjectNode objectNode = new ObjectMapper().createObjectNode();
List<String> fields = new ArrayList<>();
fields.add("data1");
fields.add("data2");
fields.add("data3");
for (int i = 0; i < fields.size(); i++) {
    objectNode.put("field" + (i+1), fields.get(i));
}
System.out.println(objectNode.toPrettyString());

Output Output

{
  "field1" : "data1",
  "field2" : "data2",
  "field3" : "data3"
}

you can use map collection Map<String,Object> :您可以使用 map 集合Map<String,Object>

Map<String,Object> mapp = new HashMap<>();
mapp.put("field1", "data1");
mapp.put("field2", "data2");
mapp.put("field3", "data3");
mapp.put("field4", "data4");
JSONObject json = new JSONObject(mapp);
System.out.println(json);

output: output:

{
  "field1":"data1",
  "field3":"data3",
  "field2":"data2",
  "field4":"data4"
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM