java - 在android中使用单行对象结构检索JSON

标签 java android json

我对 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/

相关文章:

java - 在远程 Linux 机器上编辑文件?

java - Java 中的 Crystal Report DB 身份验证

Android:loopj 未导入

android - SSLException 由于亚马逊服务上传项目

javascript - ajax 调用不适用于双数据参数

java - 用于 JNDI 查找的上下文文件中的资源定义

java - 在二叉树中查找节点的父节点

java - Android 图库 View ,其中图像保存在 sqlite 中作为 blob

php 将 JSON 数组键转换为整数

java - android中json对象无法转换为jsonarray