为什么我不断收到“不是JSON数组”?

时间:2019-06-14 16:57:55

标签: java json illegalstateexception

我有一个使用SOAP and REST service的应用。首先使用SOAP提取数据,然后使用REST提取数据。现在,我想使用JSF显示数据,但我不断收到“不是JSON数组”的信息。我不明白是什么问题。

korisnici = new ArrayList<>();
        Gson gson = new Gson();
        KorisnikREST klijentKor = new KorisnikREST();
        String jsonStr = klijentKor.getJson();
        System.out.println("Get daje odgovor :" + jsonStr);
        JsonObject jsonObject = new JsonParser().parse(jsonStr).getAsJsonObject();
        System.out.println(jsonObject);      
        JsonArray json = (jsonObject.get("odgovor")).getAsJsonArray();

我得到的结果:

{"odgovor":"[{\"id\":1,\"ime\":\"ap\",\"korisnickoIme\":\"Antonija\",\"lozinka\":\"Pofuk\",\"prezime\":\"ap\"},{\"id\":2,\"ime\":\"s\",\"korisnickoIme\":\"Sandro\",\"lozinka\":\"Sadnric\",\"prezime\":\"s\"}]","status":"OK"}

java.lang.IllegalStateException:不是JSON数组

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

正如评论中提到的那样,这个Json的组织非常奇怪。

尝试这样的事情:

    JsonObject jsonObject = new JsonParser().parse(jsonStr).getAsJsonObject();          
    JsonArray json = new JsonParser().parse(jsonObject.get("odgovor")).getAsJsonArray()