gson 创建不带Json数组名称的Json数组

c3frrgcw  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(201)

我在没有数组名称的数组中创建Json输出时遇到问题。目前,当我创建一个Json输出时,我得到以下Json响应。

{
  "values": [
    {
      "item1": "",
      "item2": "",
      "item3": "",
      "item4": ""
    }
  ]
}

但我想删除以下内容:

{
  "values": [
  ]
}

并使最终结果如下所示:

[
   {
      "item1": "",
      "item2": "",
      "item3": "",
      "item4": ""
   },
   {
      "item1": "",
      "item2": "",
      "item3": "",
      "item4": ""
   }
]

这是我目前正在使用的代码。

JSONArray jsonArray = new JSONArray();
jsonArray.put(new File(getFileName(base64), MimeTypes.ContentType(FileExtension.getType(base64)), folder, convertUriToBase64(), null));

Log.d(TAG, JsonUtil.toJson(jsonArray));

这是我的模型类:

public class File {

    String fileName;
    int fileType;
    String fileFolder;
    String base64String;
    byte[] bytes;

    public File(String fileName, int fileType, String fileFolder, String base64String, byte[] bytes){
        this.fileName = fileName;
        this.fileType = fileType;
        this.fileFolder = fileFolder;
        this.base64String = base64String;
        this.bytes = bytes;
    }
}

任何帮助都将是有用的,谢谢!

ttisahbt

ttisahbt1#

不要把JSON元素和你自己的模型混合在一起。下面是一个使用Gson.toJson的例子,它产生了预期的结果:

package test;

import java.util.ArrayList;
import java.util.List;

import com.google.gson.Gson;

public class GsonTest {

    // Your model class
    public static class Test {
        private int x;
        private int y;
        public Test(int x, int y) {
            this.x = x;
            this.y = y;
        }
    }

    public static void main(String[] args) {
        List<Test> list = new ArrayList<>();
        list.add(new Test(1, 2));
        list.add(new Test(2, 3));
        System.out.println(new Gson().toJson(list));

        // output: [{"x":1,"y":2},{"x":2,"y":3}]

    }

}

相关问题