Forum Discussion

Don's avatar
Don
New Contributor II
9 months ago

JSON path and case insensitive search

I'm having issues trying to find all instances that match a particular email address using JSONPath.  The example below is just an array of email objects, but the real data is an array or personnell profiles that I need to search by an email address that has random capitalization in it. 

Example data:

 

{    "data": [
      {"email": "yomomma@notreal.com" },
      { "email": "yoyoma@notreal.com"  },
      { "email": "yoyomama@notreal.com" },
      {"email": "someOtherEmail@notreal.com" },
      { "email": "YoMomma@notreal.com"  },
      { "email": "General@frustration.com" },
      { "email": "ILike@cookies.com" }     ]  }

 

I can get a single value out by using:

 

jsonPath($data, "$[?(@.email == 'yomomma@notreal.com')]")

 

Extending that using the regex syntax used elsewhere made me think that this should find all instances:

 

jsonPath($data, "$[?(@.email =~/yomomma@notreal.com/i )]")

 

No luck.
An alternate format (Goessner I believe) didn't work either:

 

jsonPath($data, "$[?(/yomomma@notreal.com/i.test(@.email))]")

 

 

Any help would be greatly appreciated.

4 Replies