Как я могу получить доступ к внутренним JSON элементам с помощью простого json in JAVA? - PullRequest
0 голосов
/ 28 января 2020

У меня есть это JSON, например:

{
"mesaje": [{
    "cif": "111",
    "data_creare": "29.11.2019 07:52:24",
    "id_solicitare": "222",
    "tip": "SOLICITARE",
    "id": "333",
    "detalii": "duplicat  pentru CUI 111"
}, {
    "cif": "444",
    "data_creare": "29.11.2019 07:59:37",
    "id_solicitare": "555",
    "tip": "SOLICITARE",
    "id": "666",
    "detalii": "duplicat pentru CUI 888"
}],
  "serial": "aaaaaaaaaaaaaaaaa",
  "cnp": "1888888888888888"

Это код, который я написал в Java:

    public static void main(String[] args) throws FileNotFoundException, IOException, ParseException {


        JSONParser parser = new JSONParser();

        try (Reader reader = new FileReader("D:\\test.json")) {
            JSONObject jsonObject = (JSONObject) parser.parse(reader);
            System.out.println(jsonObject);

            String cif = (String) jsonObject.get("serial");
            System.out.println(cif);
        }

    }

Это распечатывает серийный номер. ..но, что я хотел бы сделать, это получить доступ, например, в mesaje -> cif или. mesaje -> data_creare .... используемая библиотека json -простая ... не могли бы вы помочь мне с тем, как я мог это сделать? Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 28 января 2020

Вы можете прочитать документацию json -простой и проверить различные методы / примеры для чтения / travserse *1011* в json -простой .

Пример для чтения mesaje -> cif.

JSONObject jsonObject = (JSONObject) parser.parse(reader);
JSONArray mesaje = (JSONArray) jsonObject.get("mesaje");
Iterator<String> iterator = mesaje.iterator();
while (iterator.hasNext()) {
    JSONObject mesajeItem = iterator.next();
    System.out.println((String) mesajeItem.get("cif"));
}

Дополнительные примеры доступны на json - простые примеры

0 голосов
/ 28 января 2020

Вы можете попробовать этот код ниже.

 JSONArray jsonArray = (JSONArray) jsonObject.get("mesaje");
  for (int i = 0; i <jsonArray.length(); i++) {
  JSONObject obj= jsonArray.get(i);
  String cifId=obj.get("cif");
  String data_creare=obj.get("data_creare");
  String str1=obj.get("id_solicitare");
  String str2=obj.get("tip");
  String str3=obj.get("id");
  String str4=obj.get("detalii");
  String description=obj.get("description");
  System.out.println("Print here);        
}
 System.out.println("Print result here");
...