首页 > 解决方案 > 如何从输出 JSONFILE 中删除多余的括号?

问题描述

我正在使用一个维护java键值顺序的maeven依赖,但问题是当我使用jsonArray时显示一个双括号。谁能告诉我我的错误在哪里。

mssgErreurResult()是一种返回包含我所有错误消息的 Arraylist 的方法。试想一下,Errors ...在 JsonFile 中是该方法的返回

我得到什么:

{
  "complet": false,
  "erreurs": [
    [
   "Errors ..."
    ]
  ]
}

我想要的是:

{
  "complet": false,
  "erreurs":[
   "Errors ..."
    ]
}

我使用的方法:

public void ecrireFichierJSon(String fichierSortie) throws
            FichierJsonInvalideException, org.codehaus.jettison.json.JSONException {

        org.codehaus.jettison.json.JSONObject completOrNot = new org.codehaus.jettison.json.JSONObject();
        completOrNot.put("complet", mssgErreurResult().size() <= 0);
        org.codehaus.jettison.json.JSONArray messagesErreur = new org.codehaus.jettison.json.JSONArray();
        messagesErreur.put(mssgErreurResult());
        completOrNot.put("erreurs", messagesErreur);

        try {
            Files.write(Paths.get(fichierSortie), completOrNot.toString().getBytes());
        } catch (IOException e) {
            throw new FichierJsonInvalideException(e.toString());
        }
    }

标签: javajsondependencies

解决方案


它由 org.codehaus.jettison.json.JSONArray messagesErreur 添加了额外的 [ ... ],尝试将其删除并改用以下内容

completOrNot.put("erreurs", mssgErreurResult());

推荐阅读