Java 使用arraylist中的元素及其对应的映射值构建JSON对象
我需要创建一个JSON对象,因为它是从映射反序列化的,但是使用Java 使用arraylist中的元素及其对应的映射值构建JSON对象,java,json,map,gson,Java,Json,Map,Gson,我需要创建一个JSON对象,因为它是从映射反序列化的,但是使用Arraylist而不是列表作为键和值。使用Gson库创建这样一个JSON的最佳方法是什么 我只能考虑首先从ArrayList元素创建一个新的HashMap,然后将其转换为JSON。不确定是否有更好的方法避免创建新地图。如果要避免创建地图,可以使用“低级”Gson对象。这就是你可以做到的: public class Q20049678 { public static void main(String[] args) {
Arraylist
而不是列表作为键和值。使用Gson库创建这样一个JSON的最佳方法是什么
我只能考虑首先从
ArrayList
元素创建一个新的HashMap
,然后将其转换为JSON。不确定是否有更好的方法避免创建新地图。如果要避免创建地图,可以使用“低级”Gson对象。这就是你可以做到的:
public class Q20049678 {
public static void main(String[] args) {
ArrayList<Integer> al = new ArrayList<Integer>();
al.add(1);
al.add(1);
al.add(2);
al.add(3);
al.add(5);
al.add(8);
JsonObject jo = new JsonObject();
for (Integer i : al) {
jo.add(String.valueOf(i), new JsonPrimitive(i));
}
System.out.println(jo.toString());
}
}
你试过什么吗?阅读文档后,您是否发现了任何障碍?@broncoAbierto:添加到问题中您是否可以显示预期的输出和输入我不知道您是否可以跳过手动创建Hashmap。考虑到ArrayList结构的本质,键是任意的,我不认为您可以避免自己查看列表以按照自己的意愿进行转换。
{
"1":1,
"2":2,
"3":3,
"5":5,
"8":8
}