Java 如何将LinkedHashSet集合添加到JsonObjectBuilder对象?
我正在创建一个JsonBuilderObject。我的程序遍历一个集合,集合的每个项由两个整数值和三个集合组成。这是我使用的代码。我想将record.matchingTerms作为LinkedHashSet添加到我的objectBuilder中。有人能给我一些提示吗Java 如何将LinkedHashSet集合添加到JsonObjectBuilder对象?,java,json,collections,Java,Json,Collections,我正在创建一个JsonBuilderObject。我的程序遍历一个集合,集合的每个项由两个整数值和三个集合组成。这是我使用的代码。我想将record.matchingTerms作为LinkedHashSet添加到我的objectBuilder中。有人能给我一些提示吗 //start Building a JSON Tree JsonObjectBuilder jsonRootBuilder; jsonRootBuilder = Json.createObjectB
//start Building a JSON Tree
JsonObjectBuilder jsonRootBuilder;
jsonRootBuilder = Json.createObjectBuilder();
JsonArrayBuilder jsonArrayBuilder = Json.createArrayBuilder();
for (Record record : processResultArray) {
//create json object for each record.
JsonObjectBuilder recordJsonBuilder = Json.createObjectBuilder();
recordJsonBuilder.add("id1", record.id1);
recordJsonBuilder.add("id2", record.id2);
recordJsonBuilder.add("matchingTerm", ?); //record.matchingTerms is a LinkedHashSet
//creating a json array to preserve matching terms in an array
//creating a json array to preserve original terms from table one
//creating a json array to preserve original terms from table two
JsonObject recordJson = recordJsonBuilder.build();
//add the record to our array of records
jsonArrayBuilder.add(recordJson);
}
JsonArray arrayObject = jsonArrayBuilder.build();
jsonRootBuilder.add("records",arrayObject );
JsonObject rootObject = jsonRootBuilder.build();
我总是觉得这样的API既笨拙又费力。我只是创建我的对象,通常是一个
映射
,它的值可以是原语,列出或更多这样的映射,并使用手头的任何库对其进行序列化-
要么是斯普林选择了杰克逊,要么是格森或者别的什么
下面是一个使用jackson的简单示例:
List<Object> list = new ArrayList<>();
for ( <each record > ) {
Map<String, Object> obj = new HashMap<>();
list.add(obj);
obj.put("id1", record.id1);
obj.put("id2", record.id2);
// etc
}
String json = new ObjectMapper().writeValueAsString(list);
List List=new ArrayList();
对于(){
Map obj=新的HashMap();
列表。添加(obj);
obj.put(“id1”,记录id1);
obj.put(“id2”,记录id2);
//等
}
字符串json=newObjectMapper().writeValueAsString(列表);
若要保留obj
中条目的顺序,请改用LinkedHashMap
JSON序列化程序知道如何编写java集合库中的所有对象。请澄清您的问题好吗?你只是想知道如何将LinkedHashSet添加到JsonObject吗?是的,我一直觉得这样的API既笨拙又费力。我只是创建我的对象,通常是一个
映射
,其值可以是原语,列出或更多这样的映射,并使用手头的任何库对其进行序列化;要么是斯普林选择的杰克逊,要么是格森(两部作品)@Bohemian:谢谢你的回答。你能给我指一些我可以遵循的代码示例吗?