Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
Android 在不包含数组的情况下迭代Java JSONObject_Android_Json_Jsonobject - Fatal编程技术网

Android 在不包含数组的情况下迭代Java JSONObject

Android 在不包含数组的情况下迭代Java JSONObject,android,json,jsonobject,Android,Json,Jsonobject,我的问题是,这将创建3个DailyJobObjects的新实例,其值与第一个对象相同(01,Bill,50)。这样做是合乎逻辑的,那么我如何迭代我的jsonObject,从而分离这三个对象呢?我孜孜不倦地查找了这一点,但我所看到的一切都包含在jsonData中,这将使事情变得更简单,但这个响应体直接来自一个数据库——没有数组,只是背靠背对象。迭代只给我键,我已经在一个单独的方法中给了我一半的映射。现在我需要这些值。你不必给我答案,你可以(我宁愿)指出我遗漏的东西。谢谢 {"id":"01","n

我的问题是,这将创建3个DailyJobObjects的新实例,其值与第一个对象相同(01,Bill,50)。这样做是合乎逻辑的,那么我如何迭代我的jsonObject,从而分离这三个对象呢?我孜孜不倦地查找了这一点,但我所看到的一切都包含在jsonData中,这将使事情变得更简单,但这个响应体直接来自一个数据库——没有数组,只是背靠背对象。迭代只给我键,我已经在一个单独的方法中给了我一半的映射。现在我需要这些值。你不必给我答案,你可以(我宁愿)指出我遗漏的东西。谢谢

{"id":"01","name":"Bill","salary":"50"},
{"id":"02","name":"James","salary":"60"},
{"id":"03","name":"Ethan","salary":"70"}

JSONObject fields = new JSONObject(jsonData);

    mObjectArray = new DailyJobObjectArray[fields.length()];

    for(int i=0; i< fields.length(); i++) {
        DailyJobObject mObject = new DailyJobObject();

        mObject.setName(fields.getString("name"));
        mObject.setSalary(fields.getString("salary"));

        mObjectArray[i] = mObject;
    }
    return mObjectArray;
{“id”:“01”,“name”:“Bill”,“salary”:“50”},
{“id”:“02”,“name”:“James”,“salary”:“60”},
{“id”:“03”,“姓名”:“Ethan”,“薪水”:“70”}
JSONObject字段=新的JSONObject(jsonData);
mObjectArray=newDailyJobObjectArray[fields.length()];
对于(int i=0;i
正如@Selvin所提到的,您的json无效。要么从数据库中获取正确的json,要么以非标准方式解析它。我建议从数据库中获取一个合适的json数组

    String[] splitString = jsondata.split("[^a-zA-Z \\{\\}]+(?![^\\{]*\\})");
    for ( String s : splitString) {
        try {
            JSONObject field = new JSONObject(s);
            String name = field.getString("name");
            String id = field.getString("id");
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
我也同意你的mObject(…)毫无意义

也许你在找这样的东西

 mObject.setName(name)

1.您的json无效,2<代码>DailyJobObject mObject=新的DailyJobObject()amd然后
mObject(…)
在java@Selvin程序运行,与json相关。没问题。我只是复制并粘贴了Android显示器中的json。DailyJobObject是我创建的自定义类。抱歉,我刚刚编辑了。在复制和粘贴过程中丢失了一些内容。是的,我很抱歉在复制和粘贴时忘记了对象方法。我刚刚编辑过。另外,我假设从监视器复制的Json仍然具有程序在运行时添加的转义字符。我刚刚编辑,请看一看,如果我的帖子现在更清晰,请告诉我。谢谢