嘿,我想知道是否有人知道使用正则表达式或通配符(或'%LIKE%'SQL中的pehaps )的方式,以便可以使用JSONPath在大量JSON数据内进行搜索。
'%LIKE%'
例如(是的,我正在解析,而不是eval( )在应用程序中读取数据):
eval( )
var obj = eval ( '({ "hey": "can you find me?" })' );
我希望能够浏览这样的数据:
$.[?(@.hey:contains(find))] // (in jQuery terminology)
其中参数的内容是{ "key" : "value" }数据对中部分或全部值的一部分。
{ "key" : "value" }
目前,我只找到文件上>,<,=,和!=关系运算符,它不给我那么多的灵活性。
>
<
=
!=
有谁知道一个方法可以让我只是 刚刚 JSONPath找到这个数据(不通过的所有条目具有循环)?
我不想使用Dojo的JSONQuery,因为这将需要另一个库。但是,它可以让您执行此操作,这里是他们的示例:
[?description~‘*the*’]
问我是否要进一步澄清这个问题。
没关系,伙计们,找到了一种通过在JSONPath中使用ECMA来实现此目的的方法,尽管这不是本机的选择器/运算符。简单使用:
$.[?(/find/.test(@.hey))]
RegExp test()方法(JSONPath eval位于幕后)。
eval
不过,如果有人有更好的答案,请告诉我。