一尘不染

JSONPath:包含过滤器

json

嘿,我想知道是否有人知道使用正则表达式或通配符(或'%LIKE%'SQL中的pehaps
)的方式,以便可以使用JSONPath在大量JSON数据内进行搜索。

例如(是的,我正在解析,而不是eval( )在应用程序中读取数据):

var obj = eval ( '({ "hey": "can you find me?" })' );

我希望能够浏览这样的数据:

$.[?(@.hey:contains(find))] // (in jQuery terminology)

其中参数的内容是{ "key" : "value" }数据对中部分或全部值的一部分。

目前,我只找到文件上><=,和!=关系运算符,它不给我那么多的灵活性。

有谁知道一个方法可以让我只是 刚刚 JSONPath找到这个数据(不通过的所有条目具有循环)?

我不想使用Dojo的JSONQuery,因为这将需要另一个库。但是,它可以让您执行此操作,这里是他们的示例:

[?description~‘*the*’]

问我是否要进一步澄清这个问题。


阅读 808

收藏
2020-07-27

共1个答案

一尘不染

没关系,伙计们,找到了一种通过在JSONPath中使用ECMA来实现此目的的方法,尽管这不是本机的选择器/运算符。简单使用:

$.[?(/find/.test(@.hey))]

RegExp test()方法(JSONPath eval位于幕后)。

不过,如果有人有更好的答案,请告诉我。

2020-07-27