我有一个案例需要将多个JSON对象合并为一个JSON 单个响应如下所示:
{"name":"MyName"}
多个合并的JSON如下所示:
["{\"name\":\"name\"}","{\"name\":\"MyName\"}"]
这里的问题是我想要包含的子JSON可以来自Java对象,也可以作为String本身使用。
MyRequest request = new MyRequest();
request.setName("name");
String singleJson = new Gson().toJson(request);
String fromSomePlaceElse = "{\"name\":\"MyName\"}";;
List<String> list = Lists.newArrayList(singleJson,fromSomePlaceElse);
System.out.println(new Gson().toJson(list));
上面给出了以下输出:
["{\"name\":\"name\"}","{\"name\":\"MyName\"}"]
而不是:
[{"name":"MyName"}, {"name":"MyName"}]
我不想解析现有的JSON并执行以下操作:
List<MyRequest> list2 = Lists.newArrayList(request, new Gson().fromJson(fromSomePlaceElse, MyRequest.class));
System.out.println(new Gson().toJson(list2));
可以使用Gson完成吗?
答案 0 :(得分:2)
只需打印即可。
List<String> list = Lists.newArrayList(singleJson,fromSomePlaceElse);
System.out.println(list);
然后你可以得到
[{"name":"name"}, {"name":"MyName"}]
答案 1 :(得分:0)
如果你想要json的字符串形式,你可以直接使用---
apply plugin: 'java'
apply plugin: 'spring-boot'
dependencies {
compile "com.example:ProjectB:1.0.0"
}
答案 2 :(得分:0)
尝试使用给定的库一次合并任意数量的JSON对象。结果可以返回为String
或JsonObject
(GSON)。请参考 this answer 中的代码。