2016-02-05 2 views
0

Привет У меня есть JSON как:Получить значение второго узла JSON на одном уровне

{ 
    "status": { 
     "code": 200, 
     "name": "NAME", 
     "description": "Login success." 
    }, 
    "message": "Login success.", 
    "data": { 
     "att_ticket": "TICKET_0625172f00ae7737bbab3c558c877b046e6b23ba", 
     "ktk_session_id": "735efe0e9af14eee3aa5839cbc609e66" 
    } 
} 

Я могу прочитать имя статуса, но когда я пытаюсь читать data атрибут att_ticket я получаю

JSONObject("data") not found. 

Используемый мной код:

String attTicket=object.getJSONObject("data").getString("att_ticket"); 

Спасибо!

+1

Это не действительный JSON – Amit

+1

1) Дать реальную JSON объект, который вы пытаетесь расшифровать может быть Map , в котором данные будут Map Map json = mapper.XX (источник); Строка attVal = json.get ("data"). Get ("att_ticket"); должен предоставить вам json. Я упомянул mapper.XX coz Я не уверен, что является источником вашего JSON. Заменить XX с помощью readValue или convertValue – JVXR

+0

Какую библиотеку вы используете для получения значения? – Tinwor

ответ

0

Для получения att_ticket это должно работать:

JSONObject obj = new JSONObject(clientstring); 
JSONArray params = obj.getJsonArray("data"); 
JSONObject param1 = params.getJsonObject(); 
String ticket = param1.getString("att_ticket") 
-1

Вы хотите проверить свой json в таком месте, как http://jsonlint.com/.

{ 
    "status": { 
     "code": 200, 
     "name": "NAME", 
     "description": "Login success." 
    }, 
    "message": "Login success.", 
    "data": { 
     "att_ticket": "TICKET_06232432432432432432dsffdse6b23ba", 
     "ktk_session_id": "735efe0e9af14eee3aa5839cbc609e66" 
    } 
} 

На данный момент у вас не должно быть проблем с доступом к требуемым значениям.

0

Большое спасибо за все ваши ответы, ребята. Это была ошибка, возвращаемая службой, которая была причиной не получения объекта данных.

Смежные вопросы