我对 JSON 很陌生,我试图从服务器检索 JSON 的操作
datafromServer = bufferedReader.readLine();
inputStream.close();
JSONArray jsonArray = new JSONArray(datafromServer );
并遇到了这个异常:
org.json.JSONException: Value {"last_name":"Hicks","id":18,"email":"dwaynehicks@usssulaco.com","first_name":"Dwayne"} of type org.json.JSONObject cannot be converted to JSONArray
所以我找到了this答案:
JSONObject object = new JSONObject(result);
JSONArray Jarray = object.getJSONArray("contacts");
for (int i = 0; i < Jarray.length(); i++) {
JSONObject Jasonobject = Jarray.getJSONObject(i);
现在的问题是,在答案中,OP 的对象形成为:
"contacts": [{
.....
.....
]
在此 JSON 中。当我得到(没有键映射到这一行)时:
{"last_name":"Hicks","id":18,"email":"dwaynehicks@usssulaco.com","first_name":"Dwayne"}
那么我如何修改这一行*JSONArray Jarray = object.getJSONArray("contacts");*
?
我没有这样的 key 。
谢谢
最佳答案
您不需要 JSONArray,您只需从 JSONObject 获取数据即可,如下所示:
JSONObject jsonObject = new JSONObject(result);
String lastName = jsonObject.getString("last_name");
int id = jsonObject.getInt("id");
String email = jsonObject.getString("email");
String firstName = jsonObject.getString("first_name");
关于java - 在android中使用单行对象结构检索JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813149/