Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android仅JSON对象通过迭代获取_Java_Android_Json_Parsing - Fatal编程技术网

Java Android仅JSON对象通过迭代获取

Java Android仅JSON对象通过迭代获取,java,android,json,parsing,Java,Android,Json,Parsing,我有一个只包含对象的json文件,现在我无法通过迭代获取所有对象,因为这里没有数组 下面是我在android studio中尝试的代码&JSon数据截图 您仍然可以迭代: for (Iterator key=jsonObjectchild.keys();key.hasNext();) { JSONObject flatName = json.get(key.next()); ... } 这是一个完整的例子。对我有用 HttpURLConnection connection =

我有一个只包含对象的json文件,现在我无法通过迭代获取所有对象,因为这里没有数组

下面是我在android studio中尝试的代码&JSon数据截图

您仍然可以迭代:

for (Iterator key=jsonObjectchild.keys();key.hasNext();) {
    JSONObject flatName = json.get(key.next());
    ...
}

这是一个完整的例子。对我有用

HttpURLConnection connection = null;
try {
    URL url = new URL("https://api.myjson.com/bins/r7dj6");
    connection = (HttpURLConnection) url.openConnection();
    connection.connect();
    InputStream inputStream = connection.getInputStream();

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    StringBuilder stringBuffer = new StringBuilder();
    while ((line = reader.readLine()) != null){
        stringBuffer.append(line);
    }

    JSONObject jsonObject = new JSONObject(stringBuffer.toString());
    JSONObject apartmentObject = jsonObject.getJSONObject("Apartment");
    Iterator<String> keys = apartmentObject.keys();
    while (keys.hasNext()) {
        String flatName = keys.next();
        JSONObject flat = apartmentObject.getJSONObject(flatName);
        String age = flat.getString("age");
        String color = flat.getString("color");
        String name = flat.getString("name");
        String owner = flat.getString("owner");
        String partner = flat.getString("partner");
        Log.d("Flat", flatName + ": " + age + ", " + color + ", " + name + ", " + owner + ", " + partner);
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (connection != null) {
        connection.disconnect();
    }
}
HttpURLConnection=null;
试一试{
URL=新URL(“https://api.myjson.com/bins/r7dj6");
connection=(HttpURLConnection)url.openConnection();
connection.connect();
InputStream InputStream=connection.getInputStream();
BufferedReader reader=新的BufferedReader(新的InputStreamReader(inputStream));
弦线;
StringBuilder stringBuffer=新的StringBuilder();
而((line=reader.readLine())!=null){
stringBuffer.append(行);
}
JSONObject JSONObject=newJSONObject(stringBuffer.toString());
JSONObject apartmentObject=JSONObject.getJSONObject(“公寓”);
迭代器keys=apartmentObject.keys();
while(keys.hasNext()){
字符串flatName=keys.next();
JSONObject flat=apartmentObject.getJSONObject(flatName);
String age=flat.getString(“age”);
String color=flat.getString(“color”);
String name=flat.getString(“name”);
字符串所有者=flat.getString(“所有者”);
String partner=flat.getString(“partner”);
Log.d(“平面”,平面名称+”:“+age+”、“+color+”、“+name+”、“+owner+”、“+partner”);
}
}捕获(例外e){
e、 printStackTrace();
}最后{
if(连接!=null){
连接断开();
}
}

for(迭代器key=jsonObjectchild.keys();key.hasNext();){JSONObject flatName=jsonObjectchild.getJSONObject(String.valueOf(key));String name=flatName.getString(“name”);String color=flatName.getString(“color”);}我试着这么做,但没有wokring@Tasnuvaoshin字符串.valueOf()中缺少key.next()
HttpURLConnection connection = null;
try {
    URL url = new URL("https://api.myjson.com/bins/r7dj6");
    connection = (HttpURLConnection) url.openConnection();
    connection.connect();
    InputStream inputStream = connection.getInputStream();

    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
    String line;
    StringBuilder stringBuffer = new StringBuilder();
    while ((line = reader.readLine()) != null){
        stringBuffer.append(line);
    }

    JSONObject jsonObject = new JSONObject(stringBuffer.toString());
    JSONObject apartmentObject = jsonObject.getJSONObject("Apartment");
    Iterator<String> keys = apartmentObject.keys();
    while (keys.hasNext()) {
        String flatName = keys.next();
        JSONObject flat = apartmentObject.getJSONObject(flatName);
        String age = flat.getString("age");
        String color = flat.getString("color");
        String name = flat.getString("name");
        String owner = flat.getString("owner");
        String partner = flat.getString("partner");
        Log.d("Flat", flatName + ": " + age + ", " + color + ", " + name + ", " + owner + ", " + partner);
    }
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (connection != null) {
        connection.disconnect();
    }
}