我正在尝试从 API 请求中收到的 JSONObject 中获取字符串。
我的JSONObject如下:
{
"status":"success",
"message":"user authenticated",
"data": { "id":11,
"username":"2160481",
"token":"MEznhD8RE1-ykZLOdGs4i9ZfRFQl5h_"
}
}
我尝试了在这里找到的一些响应,例如 getString("token") 但没有成功。我还尝试创建一个包含 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);
}`
最佳答案
您的 token 字段位于另一个 JSONObject 数据中,因此您必须执行以下操作
yourMainObject.getJSONObject("data").getString("token");
如果您不确定您的 token 是否始终存在,您也可以使用 optString() 方法代替 getString
关于java - 从 JSONObject 中获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996330/