合并 JSON 对象和 JSON 数组以在 Java 中得到另一个 JSON 对象
combine JSON object and JSON array to get another JSON object in Java
我有 List<Person>
其 JSON 输出如下:
[{"name":"john","email":"john@email.com"},
{"name":"daniel","email":"daniel@email.com"},
{"name":"thomas","email":"thomas@email.com"}]
以及 JSON 格式如下的人数统计:{"number":3}
如何结合以上两者得到结果:
{
"number":3,
"persons":[{"name":"john","email":"john@email.com"},
{"name":"daniel","email":"daniel@email.com"},
{"name":"thomas","email":"thomas@email.com"}]
}
我的 Java 代码是基于 jersey2 的 JAX-RS 应用程序。为了更清楚,我有一个从数据库中获取的 Person 列表,我还有一个整数变量号。并结合 List 和整数变量以高效且稳健的方式获得上述结果。
当你想将Object直接映射到json或者想将json转换成object时,你可以使用GSON库。这会给你更多的灵活性和控制力。
下载 link - http://code.google.com/p/google-gson/
教程 link - http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
由于您使用的框架已经自动转换为 JSON,最简单的方法是 return 一个新对象。
public class Result {
private int number;
private List<Person> persons;
//leaving creation of constructor to you
}
然后实例化该对象并return它。
我有 List<Person>
其 JSON 输出如下:
[{"name":"john","email":"john@email.com"},
{"name":"daniel","email":"daniel@email.com"},
{"name":"thomas","email":"thomas@email.com"}]
以及 JSON 格式如下的人数统计:{"number":3}
如何结合以上两者得到结果:
{
"number":3,
"persons":[{"name":"john","email":"john@email.com"},
{"name":"daniel","email":"daniel@email.com"},
{"name":"thomas","email":"thomas@email.com"}]
}
我的 Java 代码是基于 jersey2 的 JAX-RS 应用程序。为了更清楚,我有一个从数据库中获取的 Person 列表,我还有一个整数变量号。并结合 List 和整数变量以高效且稳健的方式获得上述结果。
当你想将Object直接映射到json或者想将json转换成object时,你可以使用GSON库。这会给你更多的灵活性和控制力。
下载 link - http://code.google.com/p/google-gson/
教程 link - http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
由于您使用的框架已经自动转换为 JSON,最简单的方法是 return 一个新对象。
public class Result {
private int number;
private List<Person> persons;
//leaving creation of constructor to you
}
然后实例化该对象并return它。