亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從JSON文件獲取隨機字符串

從JSON文件獲取隨機字符串

慕容708150 2021-05-06 14:23:44
嘗試從此JSON文件中獲取隨機單詞public class Main {    public static void main(String[] args) {        JSONObject obj = JSONUtils.getJSONObjectFromFile("/adjs.json");        JSONArray jsonArray = obj.getJSONArray("adjs");        for(int i = 0; i < jsonArray.length(); i++) {            System.out.println(jsonArray.get(i));        }        Random r = new Random();        int id1 = r.nextInt(jsonArray.length());        String word1 = jsonArray.getJSONObject(id1).getString("adjs");        System.out.println(word1);        //String word = jsonArray.getJSONObject(r.nextInt(jsonArray.length())).getString("adjs");    }}有我正在使用的代碼,但我不斷收到此錯誤。Exception in thread "main" org.json.JSONException: JSONArray[671] is not a JSONObject.    at org.json.JSONArray.getJSONObject(JSONArray.java:428)    at Job.Main.main(Main.java:23)我該如何實現?以下是我正在使用的JSON:{    "description": "A list of English adjectives.",    "adjs":    [         "Aristotelian",        "Arthurian",        "Bohemian",        "Brethren",        "Mosaic",        "Oceanic",        "Proctor",        "Terran",        "Tudor",        "abroad",        "absorbing",        "abstract",        "academic",        "accelerated",        "accented",        "accountant",        "acquainted",        "acute",        "addicting",        "addictive",        "adjustable",        "admired",        "adult",        "adverse",        "advised"    ]}尋找解決方法。哦,是的,它只是JSON文件的一小部分。
查看完整描述

1 回答

?
UYOU

TA貢獻1878條經驗 獲得超4個贊

String word1 = jsonArray.getJSONObject(id1).getString("adjs");

變量jsonArray包含一個JSONArray,其中包含字符串,而不是嵌套JSONObject的。你想要的是


String word1 = jsonArray.getString(id1);

您實際編寫的代碼期望采用以下形式的JSON:


{

    "description": "A list of English adjectives.",

    "adjs":

    [

        { "adjs": "Aristotelian" },

        { "adjs": "Arthurian" },

        ...

    ]

}

"adjs"在您的代碼中兩次提及密鑰可能是一個線索:-)


查看完整回答
反對 回復 2021-05-19
  • 1 回答
  • 0 關注
  • 269 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號