首页 > 解决方案 > 为什么我会收到 Json Malformed Exception?

问题描述

我正在尝试使用 json 制作一个程序来将用户寄存器保存到文件中,但是当我尝试读取我的 json 时,我收到错误“JSON 格式错误”。这是我用 json 编写的代码:

    Gson gsonObject = new Gson();
    FileWriter writerFile;

    try {
        writerFile = new FileWriter("users.json", true);
        writerFile.write(gsonObject.toJson(writerUser));
        writerFile.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

我使用数组来轻松修改值(仅将 json 带回数组并进行修改)但在编写器之后我无法读取此 json 文件,这是我的阅读器代码:

    Gson gson = new Gson();
    List<User> userList;

    try {
        BufferedReader readerUserList = new BufferedReader(new FileReader("users.json"));

        userList = Arrays.asList(gson.fromJson(readerUserList, User[].class));

        for (User user : userList) {
            System.out.println(user.toString());
        }

之后我得到“json格式错误”错误,我的错误在哪里?

如果对你们有帮助,在我的 json 文件中是这样的数组:

[{"name":"james","idCode":1}][{"name":"kyle","idCode":2}][{"name":"test","idCode":3}]

标签: json

解决方案


我从来没有使用过 Gson ......但是你的 json 文件有格式问题,它应该看起来像这样:

[{"name":"james","idCode":1},{"name":"kyle","idCode":2},{"name":"test","idCode":3}]

问题不在于您尝试阅读时,而在于您编写时。


推荐阅读