无法将String类型数组转换为Json

时间:2018-01-30 09:20:00

标签: arrays json

我正在尝试将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" }]

1 个答案:

答案 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);;
}