我正在尝试将Array输出转换为Json,但它返回两个输出相同。
数组代码:
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
String[] myStringArray = new String[]{"a","b","c"};
System.out.println(myStringArray);
gson.toJson(myStringArray);
System.out.println("Json Output" + gson.toJson(myStringArray));
阵列输出:[a,b,c]
Json的输出:["a,b,c"]
以上只是我的数据输出示例。实际上我使用动态字符串数组并为每个数组索引添加3个值,用逗号分隔。因此每个数组索引都有3个值,如array[0]= ["value1,value2,value3"]
预期输出:[{"key1":"value1","key2":"value2","key3":"value3" }]
答案 0 :(得分:1)
这是使用Map
的解决方案 public String convertArraysIntoJson(List<String[]> myStringArrays){
List<Map<String, String>> maps = new ArrayList<>();
for(String[] myStringArray : myStringArrays){
Map<String, String> map = new HashMap<>();
for(int i = 0; i < myStringArray.length; i++){
map.put("Key"+(i+1), myStringArray[i]);
}
maps.add(map);
}
GsonBuilder gsonBuilder = new GsonBuilder();
Gson gson = gsonBuilder.create();
return gson.toJson(myStringArray);;
}