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

放心-Json提取

师增
2023-03-14

我正在收到以下结构的响应:

[{
    "builds": [{
            "description": "JP MORGAN",
            "land": "FU",
            "companyCode": "1234",
            "accountNumber": "00000000000",
            "shortID4": "XYS"
        }
    ]
}

]

每当我想提取JSON属性时,例如描述,最终的对象不是我所期望的。它创建具有ArrayString的列表。

List<String> values = resp.path("builds.description");

如何将值从此JSON对象获取到包含值的简单列表?谢谢

共有1个答案

马博学
2023-03-14

希望下面的一个解决方案可以解决你的问题。我建议你使用第一个。

String responseJson= "[{     \"builds\": [{             \"description\": \"JP MORGAN\",         },      {             \"description\": \"JP MORGAN\",         }     ] }]";
JsonPath jp = new JsonPath(responseJson);
List<String> singleDestList = jp.getList("builds[0].description");
System.out.println(singleDestList);

运筹学

List<List<List<String>>> descriptionsList =jp.get("builds.description");
List<Object> flatList = descriptionsList.stream().flatMap(List::stream).collect(Collectors.toList());       
System.out.println(flatList.toString());

运筹学

String[] descriptionArray = jp.get("builds.description").toString().replaceAll("\\[", "").replaceAll("]", "").split(",");
List<String> descriptionList = Arrays.asList(descriptionArray);
System.out.println(descriptionList);
 类似资料:
  • 我试图从JSON中提取值,并将其存储在String List中,因为稍后我需要检查我在csv文件中的值是否存在于此List中。 任何人都可以帮我建立一个路径来提取它吗? 现在我在我的控制台上得到了这个。**(它只返回了十个,因为我更改了“limit”参数。 我的代码直到现在: 下面您可以找到JSON结构,我只需要对象“标识符”数组中的所有“accountId”。

  • 我对rest-assured和Java是新手。我需要帮助,我想创建一个Json对象(带有键、值的数组Json),我可以添加/删除参数,并更改值 谢谢大家

  • 我正在尝试使用jsonPath从JSON数组中提取值。 JSON响应示例: 目前的测试如下: 然而,我一直在处理我的错误代码。我只想知道它的价值。

  • 我试图使用Rest assured和JsonPath从pzSetRuleSetFilter字段中提取一个值,其中pyRuleSetName等于某个值(在本例中为商标)。我一直得到下面的错误。任何关于如何解决这个问题并提取价值的想法都是很好的 无效的JSON表达式:script1.groovy:1:需要EOF,发现“[”@第1行,第39列。 我的查询system.out.println(respon

  • 问题内容: 我以这种方式得到回应: 我在responseBody中有一个json: 是否可以仅使用此值= 39将其提取为字符串? 问题答案: 我找到了答案:) 使用JsonPath或XmlPath(如果您有XML)从响应主体获取数据。 就我而言:

  • 我得到的回应是这样的: 我有一个json回复: 我可以用放心的方法提取字符串吗?