从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