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

JSON JsonPath->获取包含字符串的数组值

施同
2023-03-14

嗨,我有一个JSON对象:

{      
    "idContainer": 
    [
        "213=135864",
        "312=35947"
    ]
}

现在我要访问213=之后的字符串135864213是数组值里面的一种键,我得到的数据是这样格式化的)

  • 我不能确定它是数组中的第一个元素,只是它以“key”213=
  • Xpath表达式的字符串结果最好是135864,而不是单引号或双引号

1.)我试图找到这样的过滤器表达式idContainer[?('213=*')]返回我这个元素213=135864

2.)更方便的方法是,我可以对结果进行更多过滤,只返回135864,但我不知道使用JSON XPath语法是否可行

谢谢你的帮助:)

如果有必要,我也可以使用Java表达式,但我最喜欢的解决方案是纯JsonPath

共有1个答案

康言
2023-03-14

如果您使用的是Jayway JSONPath,如果您使用的是JAVA,那么很可能是,您可以在过滤条件中使用正则表达式,即。

$.idContainer[?(@ =~ /213=.*/)]

这就产生了

[
   "213=135864"
]

但是没有办法用乱穿马路来生产

[
    135864
]
 类似资料:
  • 问题内容: 我的应用程序中有一个奇怪的异常,我想记录它发生的时间,并包括完整的请求字符串(包括参数)。 当我尝试 我得到了请求字符串,但没有得到包含的参数?和&。 例: 我只看到 我可以把整个字符串放在某个地方吗? 问题答案: 参见HttpServletRequest#getQueryString() 如果需要整个字符串,则必须将请求url和查询字符串附加在一起,因为没有方法可以获取整个字符串。

  • 所以我在网上找遍了所有地方,但我似乎不知道如何让它发挥作用。 我试图实现的是找到所有在其设备下拥有相同设备的用户。这是Firest数据库的结构:数据库映像 因此,Firebase最近发布了其Javascript库的5.3.0版,在其发行说明中指出: 添加了“array contains”查询运算符以用于。where()查找数组字段包含特定元素的文档。 Firebase Javascript发行说明

  • 问题内容: 我正在尝试检测字符串是否包含至少一个存储在数组中的URL。 这是我的数组: 该字符串由用户输入并通过PHP提交。在确认页面上,我想检查输入的URL是否在数组中。 我尝试了以下方法: 无论输入什么,返回值始终为“找不到匹配项”。 这是正确的做事方式吗? 问题答案: 尝试这个。 如果要检查不区分大小写,请使用stristr()或stripos()。

  • 问题内容: 我有一个字节数组,其中包含我希望转换为字符串的ASCII字符。例如: myByteArray在循环后应包含字符串“ 12345678”。如何将此字符串转换为String变量? 谢谢! 问题答案: 用 字符串类为此提供了一个构造函数。 旁注:此处的第二个参数是CharSet(字节编码),应谨慎处理。这里更多。

  • 问题内容: 如何在上面的数组中松散搜索“ Last”一词? 上面的代码仅在指针与值中的所有内容完全匹配时才回显值的键,这是我不想要的。我想要这样的东西: 如果值包含单词“ Last”,我希望值的键回显。 问题答案: 要查找符合搜索条件的值,可以使用函数: 现在,数组将仅包含原始数组中包含单词 last (不区分大小写)的元素。 如果需要查找与条件匹配的值的键,则需要遍历数组: 现在,数组包含原始数