当前位置: 首页 > 知识库问答 >
问题:

从Json对象中提取数组

富勇军
2023-03-14
public class Images {
        private Image[] images;

        public class Image {
            private String url;

            public Image(String url) {
                this.url = url;
            }

            public String getUrl() {
                return url;
            }
        }

        public Images(Image[] images) {
            this.images = images;
        }

        public Image[] getImages() {
            return images;
        }
    }
...
,
"images": [
   {
     "url": "https://a.allegroimg.com/original/030516/a867b9dd4021b15678fc03a3981b"
    },
    {
       "url": "https://a.allegroimg.com/original/03da09/19740f7147ad929609cc2bcc499e"
    },
    {
        "url": "https://a.allegroimg.com/original/03198b/c024c7e448cab876bb49ad055567"
    },
    {
        "url": "https://a.allegroimg.com/original/039fee/64bae4c64dac89e5b5b4d001c2ca"
     }
],
...

我得到错误:“com.google.gson.jsonSyntaxException:java.lang.IllegalStateException:Expected BEGIN_OBJECT但是BEGIN_ARRAY位于第1行column 283 path$.items.Promended[0].images”
我请求帮助从json对象提取数据。

我只需要删除类'images',并将'urls'从Json保存到image[]

共有1个答案

邵耀
2023-03-14

应为BEGIN_OBJECT,但BEGIN_ARRAY位于第1行第283列path$.items.Promended[0].Images

该问题是由于包装类Images造成的。从错误来看,我认为您的对象如下所示:

java prettyprint-override">class Promoted {
  private Images images;
  ..
}

class Images {
  private Image[] images;
}

在当前的表单中,可以解析的json是:

...
,
"images": {
  "images": [
    {
      "url": "https://a.allegroimg.com/original/030516/a867b9dd4021b15678fc03a3981b"
    },
    {
      "url": "https://a.allegroimg.com/original/03da09/19740f7147ad929609cc2bcc499e"
    },
    {
      "url": "https://a.allegroimg.com/original/03198b/c024c7e448cab876bb49ad055567"
    },
    {
      "url": "https://a.allegroimg.com/original/039fee/64bae4c64dac89e5b5b4d001c2ca"
    }
  ]
}
...

class Promoted {
  private Image[] images;
  ..
}
 类似资料:
  • 问题内容: 我想使用https://raw.github.com/currencybot/open-exchange- rates/master/latest.json 提供的货币数据 作为初始测试,我已经创建了它的简化版本作为内联对象: 我想要做的就是以某种方式使用例如“ EUR”作为条件查询/ grep /过滤json对象,并使其返回一个名为“ rate”的变量,其结果为“ 0.795767”

  • 问题内容: 我知道它是一个数组,但是我对JSON完全陌生,需要帮助理解它的结构,这是我提取数据的尝试: 我拥有的JSON数据如下所示: 我对这些东西的掌握并不强,因此感谢所有帮助。 问题答案: 这是个主意: 它应该可以工作(如果有编译错误,请随时投诉)

  • 好吧,我在这里挣扎。我从php服务器(称为“result”)获得以下JSON格式的字符串(已编辑!我在末尾缺少一个花括号): {“L1”:[{“用户名”:“用户1”,“化身”:“1”},{“用户名”:“用户2”,“化身”:“2”},{“用户名”:“用户3”,“化身”:“3”},“L2”:[{“用户名”:“用户4”,“化身”:“4”},{“用户名”:“用户5”,“化身”:“5”}]} (编辑:我在最

  • 我有车牌图像(图像像这些示例图像一样被裁剪)。我只想从输入图像中提取印版。 我已经应用了OpenCV Canny边缘检测器,但我不能再进一步了。有人能帮我吗? 我的最终目标是用我的公司标志替换这个标牌。 车牌图像示例:

  • 目前我有以下输入json。我想提取值为attrs.name = Details的对象,并将其附加到输出json中(在attrs数组之外)。目前,虽然我能够将它附加到输出JSON中,但我仍然在attrs中得到该对象的副本。我想要这个副本被删除。 输入 JSON : 属性。name=“详细信息”可以在attrs中按任意顺序排列 输出量的希望值 电流输出 使用的颠簸规格 有没有办法删除仍在 attrs

  • 问题内容: 这是我要在这里实现的目标: 从数据库获取文件名和ID的列表 在网络路径上搜索这些文件 存储未找到的文件的任何ID 在第二个数据库中搜索该ID 在网络路径上搜索这些文件 列出所有在两个位置均未找到文件的ID。 我遇到的问题是尝试使用我收集的结果中的文件名。 运行代码时,会显示从数据库收集的原始JSON数据,但是当尝试仅列出文件名时,我什么也没得到(甚至没有错误) 关于如何解决此问题并以一