我有一個JSON字符串JSON,我需要使用Java(Android版),從中提取字符串如何可以解析使用Java(Android版)
JSON字符串看起來像:
{
"Header": {
"context": {
"change": {
"token": 3191
},
"_jsns": "urn:zimbra"
}
},
"Body": {
"AuthResponse": {
"authToken": [
{
"_content": "token"
}
],
"lifetime": 43199998,
"_jsns": "urn:zimbraAdmin"
}
},
"_jsns": "urn:zimbraSoap"
}
我想獲得_content
的值,這是「令牌」是這種情況。
我想什麼: NB:result
包含JSON字符串
//result contains the json string
JSONObject jObject = new JSONObject(result);
String aJsonString = jObject.getString("Body");
JSONObject jResult = new JSONObject(aJsonString);
String aaa = jResult.getString("authToken");
在這一點上,我得到以下錯誤:
W/System.err: org.json.JSONException: No value for authToken
任何幫助將不勝感激
編輯:Java代碼更新
您的JSON是一個對象。有一個「Body」對象。在'Body'對象中是一個'AuthResponse'對象。在AuthResponse對象中是你的'authToken'數組。您需要鑽取整個樹(root - >'Body' - >'AuthResponse' - >'authToken'),並且您似乎跳過了一兩步。 – CommonsWare
'「Body」是**對象**,不是字符串。使用'getJSONObject(「Body」)'。從那裏,得到另一個對象,然後你可以得到令牌數組 –
@ 4castle:對不起,我錯過了一條線。 –