我目前正在尝试在我的Android应用程序中解析一些JSON,但我一直收到错误说"没有用户的价值"
这是我正在使用的当前代码:
Parent root = null;
try {
root = FXMLLoader.load(getClass().getClassLoader().getResource("overview.fxml"));
Stage stage = new Stage();
Scene scene = new Scene(root);
stage.setTitle("FXML Welcome");
stage.setScene(scene);
stage.setResizable(false);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
这是我的JSON:
JSONObject parentObject = new JSONObject(finalJSON);
JSONObject childObject = new JSONObject(String.valueOf(parentObject));
JSONArray parentArray = childObject.getJSONArray("users");
JSONObject finalObject = parentArray.getJSONObject(0);
String userName = finalObject.getString("username");
String profileLink = finalObject.getString("profileimage");
Log.d("JSON", String.valueOf(finalObject));
return profileimage+ " - " + profileLink ;
提前致谢!
答案 0 :(得分:3)
您忘记了reply
级别。
这是你应该做的。
JSONObject parentObject = new JSONObject(finalJSON);
JSONArray userArray = parentObject
.getJSONObject("reply")
.getJSONArray("users");
JSONObject finalObject = userArray.getJSONObject(0);
答案 1 :(得分:0)
你不能为对象内的对象获取新对象。
你必须为对象内的parse对象执行此操作。
JSONObject object1 = new JSONObject(finalJSON);
JSONObject object2 = object1.getJSONObject("reply");
JSONArray jsonArray = object2.getJSONArray("users");
JSONObject object3 = jsonArray.getJSONObject(0);
答案 2 :(得分:0)
尝试以下方法:
JSONObject root = null;
try {
root = new JSONObject("reply");
JSONArray childArray = root.getJSONArray("users");
String userName = childArray.getString(0);
.
.
.
} catch (JSONException e) {
e.printStackTrace();
}