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

Java:从多数组中提取索引 src

闾丘德宇
2023-03-14

所以,我遇到了这个奇怪的问题:我正在使用Woocommerce Rest API,我需要从“images”数组中获取src。

我已经尝试将图像数组保存在另一个数组中,但我不知道如何从数组中获取“src”:

try {
    ConnectionRequest r = new ConnectionRequest();
    r.setPost(false);
    r.setUrl("https://" + tokens.getShop_name_token() + ".ch/wp-json/wc/v3/products?consumer_key=" + tokens.getConsumer_key_token() + "&consumer_secret=" + tokens.getSecret_key_token());
    NetworkManager.getInstance().addToQueueAndWait(r);
    Map<String, Object> result = new JSONParser().parseJSON(new InputStreamReader(new ByteArrayInputStream(r.getResponseData()), "UTF-8"));

    //JSON Filter     
    ArrayList<Map<String, String>> myList = (ArrayList<Map<String, String>>) result.get("root");
    for (int i = 0; i < myList.size(); i++) {
        Map<String, String> dtls = myList.get(i);
        productsArr.add(dtls.get("name"));
        productStock.add(dtls.get("stock_status"));
        productDateCreated.add(dtls.get("date_created"));
        //TODO: Filter out image-soure
        productImages.add(dtls.get("images"));
    }
    System.out.println(productImages);

输出:〔〕、〔〕、〕、〔〕和〔{id=16.0,date_created=2018-11-08T15:21:14,date _create_gmt=2018-10-08 T15:20:14,日期_modified=2018-12-08 T115:21:13=https://website.com/wp-content/uploads/2018/11/1.jpg,name=Vneck Tshirt,alt=}],{id=15.0,date_created=2018-11-08T15:21:14,date _create_gmt=2018-10-08-T15:20:14,日期_modified=2018-12-08-15:21:13,日期=https://website.com/wp-content/uploads/2018/11/21.jpg,name=Tshirt,alt=}]]

我走了这么远。现在我的问题是:如何过滤索引以获得图像的“src”?

共有1个答案

裴嘉许
2023-03-14

当您使用功能相当少的< code > com . codename 1 . io . JSON parser JSON解析器时,它会将JSON解析为< code >映射

如果顶级JSON对象是一个数组,那么将创建一个特殊的“root”元素,这就是您在这里得到的。这意味着JSON的结构解析如下:

{
    "root": [
        {
            "name": <str>,
            "stock_status": <???>,
            "date_created": <str>,
            "images": 
                {
                    "id": <num>,
                    "date_*": <str>,
                    "src": <str>,
                    "name": <str>,
                    "alt": <str>
                }
            ]
        }
    ]
}

因此,要提取图像的src,必须提取“根”数组并对其进行迭代。而不是将结果强制转换为映射

for (const Map<String, Object> element : (List<Map<String, Object>>) result.get("root")) {
    // The "element" object has an "images" value that is a list of objects
    for (const Map<String, Object> image : (List<Map<String, Object>>) element.get("images")) {
        // Save the "src" field of each image
        productImages.add((String) image.get("src"));
    }
}

 类似资料:
  • 我想知道在java中是否有一种方法可以在数组中的特定索引处提取和找到integer。然后我想把这个整数存储在一个变量中。这是可以做到的吗?

  • 问题内容: 我想做一些类似于此处NumPy数组的操作,更改不在索引列表中的值,但不完全相同。 考虑一个数组: 我知道我可以通过索引列表访问其元素,例如: 但是我还需要访问那些 不在列表中的元素。天真地,这是: 正确的方法是什么? 问题答案: In [170]: a = np.array([0.2, 5.6, 88, 12, 1.3, 6, 8.9]) In [171]: idx=[1,2,5] I

  • 我很难理解ElasticSearch中标记器和分析器的可能性。 假设有一组产品的索引数据。每个产品都有一个带说明文本的字段。在描述中,一种颜色被命名。 是否可以使用内置的分析器或自定义的标记器/分析器来提取颜色信息(例如,基于一组关键字[红、绿、蓝、黄等]),并将新的颜色信息作为一个单独的字段附加到产品上? 这将是一个很好的功能,可以用通用属性(如颜色、材质等)来增加传入数据

  • 问题内容: 我有一个索引元组数组,我想用它从多维numpy数组中选取值, 理解只有在已知的情况下才有效。 有什么提示吗? 问题答案: 您可以将的转置版本转换为元组,然后为矢量化解决方案建立索引-

  • Java中用于检索未排序整数数组中元素的索引的内部数据查询是什么。 不使用任何集合类型进行检索的过程是什么?

  • 我想得到给定某个索引的数组类型的值。数组的值是 $status=[1,2]; 我使用这些代码来获取值: $task_state=$status[1]; 但它实际上认为$status是一个字符串并返回 '[' 我知道这其实很简单,但我似乎找不到问题的答案。非常感谢。