获取同一级别的第二个JSON节点的值

时间:2016-02-05 21:41:59

标签: java 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");

谢谢!

3 个答案:

答案 0 :(得分:1)

要获得att_ticket,这应该有效:

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

答案 1 :(得分:0)

非常感谢你们的所有答案。这是从服务返回的错误,这是没有获取数据对象的原因。

答案 2 :(得分:-1)

您希望在http://jsonlint.com/这样的地方验证您的json。

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

此时,您在访问所需值时不会遇到任何问题。