从JSONObject中获取字符串

我想从我从API请求中收到的JSONObject中获取一个字符串。从JSONObject中获取字符串

我的JSONObject如下:

{ 

"status":"success",

"message":"user authenticated",

"data": { "id":11,

"username":"2160481",

"token":"MEznhD8RE1-ykZLOdGs4i9ZfRFQl5h_"

}

}

我试过没有成功一些回应,我发现在这里,喜欢的getString(“令牌”)。我也试着用JSONObject创建一个数组,并从那里获取字符串,也没有成功。

编辑:

尝试1:

String data = response.toString(); 

JSONObject teste = new JSONObject(data);

String status = teste.getString("status");

System.out.println(status);

尝试2:

String token = null; 

try {

JSONArray arr = new JSONArray();

arr.put(response);

JSONObject jObj = arr.getJSONObject(0);

token = jObj.getString("token");

System.out.println("---> Token: " + token);

} catch (JSONException e) {

System.out.println("---> Error:" + e);

}

尝试3:

String token = null; 

try {

token = response.getString("token");

System.out.println("---> Token: " + token);

} catch (JSONException e) {

System.out.println("---> Error:" + e);

}`

回答:

你的令牌领域里面另一个JSONObject的数据,以便您将不得不做以下

yourMainObject.getJSONObject("data").getString("token"); 

您还可以,如果你不知道你的令牌将总是存在

回答:

你应该能够通过它来获取令牌使用optString()方法,而不是的getString。

try { 

String data = response.toString();

JSONObject jsonObject = new JSONObject(data);

String token = jsonObject.getJSONObject("data").getString("token");

System.out.println(token);

} catch (JSONException e) {

e.printStackTrace();

}

回答:

只需使用一个将POJO序列化或反序列化为Java对象的库。

Like gson:https://github.com/google/gson

以上是 从JSONObject中获取字符串 的全部内容, 来源链接: utcz.com/qa/266643.html

回到顶部