Проверьте ключи внешнего JSON файла в Java - PullRequest
0 голосов
/ 18 февраля 2020

в качестве заголовка говорится, что я хотел бы проверить ключи внешнего Json файла в Java.

Что я попробовал:

JSONObject json = new JSONObject("src/com/json/inventory.json");
System.out.println(json.keys());

Выпуск : Ничего не делает.

Какие еще возможности?

Заранее спасибо!

РЕДАКТИРОВАТЬ Ошибка

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020
  1. Получить JSON файл из папки активов
  2. Распечатать все ключи из JSON

-

private String getJSonFromAssets(){
    String json = null;
    try {
        InputStream is = getAssets().open("colorAndValue.json");
        int size = is.available();
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
        json = new String(buffer, "UTF-8");
    } catch (IOException e) {
        e.printStackTrace();
    }
    return json;
}

---

try {
        JSONObject jsonObject = new JSONObject(getJSonFromAssets());
        Iterator<String> keys = jsonObject.keys();
        while(keys.hasNext()) {
            String key = keys.next();
            System.out.println(key);
            Log.d("innerKey", "key " + key);
        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

И ваш вывод будет быть похожим на 1. ключевой цвет0 2. ключевой цвет1 3. ключевой цвет2 4. ключевой цвет3 5. ключевой цвет4 6. ключевой цвет5

0 голосов
/ 18 февраля 2020

Если вы используете эту библиотеку , сначала вы должны прочитать содержимое файла, например:

String unparsedJson = Files.readAllLines(Paths.get("src/com/json/inventory.json"))
                .stream()
                .reduce((a,b) -> a + b)
                .get();

Затем вы можете проанализировать json с предоставленным вами кодом:

JSONObject json = new JSONObject(unparsedJson);

И итерируйте по клавишам что-то вроде этого:

json.keys().forEachRemaining(key -> {
            System.out.println(key);
        });

Вы также можете использовать другие библиотеки, такие как Jackson и Gson .

...