Получить значение из объекта JSON с несколькими ключами

У меня есть объект JSON, как показано ниже:

{
    "winame": "123",
    "val": "[
        {
            "gurName": "sds",
            "gurType": "",
            "crNo": "",
            "crissueDate": "",
            "dob": "",
            "gender": "",
            "address": "",
            "maritialStatus": "",
            "cache": ""
        }
    ]"
}

В котором первый ключ является значением, а второй ключ содержит значения некоторого типа объекта Java. Как проанализировать значение «winame» и «val» в этом объекте java.


person Nishant Varshney    schedule 23.01.2018    source источник
comment
Что означает ВО?   -  person C-Otto    schedule 23.01.2018
comment
Это объект Java. я редактировал...   -  person Nishant Varshney    schedule 23.01.2018
comment
Действительно ли двойные кавычки в val экранированы, как \"gurName\": \"sds\"? И можете ли вы показать класс результата, который вы хотите разобрать?   -  person pirho    schedule 24.01.2018


Ответы (1)


Вы можете анализировать JSON с любым количеством ключей.

JSONObject obj = new JSONObject("xyz");
String winame= obj.getJSONObject("winame");

JSONArray arr = obj.getJSONArray("val");
for (int i = 0; i < arr.length(); i++)
{
    String gurName = arr.getJSONObject(i).getString("gurName");
    String gurType = arr.getJSONObject(i).getString("gurType");
    String crNo = arr.getJSONObject(i).getString("crNo");
    String crissueDate = arr.getJSONObject(i).getString("crissueDate");
    String dob = arr.getJSONObject(i).getString("dob");
    String gender = arr.getJSONObject(i).getString("gender");
    String address = arr.getJSONObject(i).getString("address");
    String maritialStatus = arr.getJSONObject(i).getString("maritialStatus");
    String cache = arr.getJSONObject(i).getString("cache");    
}
person Rohan Pillai    schedule 25.01.2018