부분 쿼리 일치를위한 JPath

Aug 20 2020

json jpath 쿼리를 배우려고합니다. 정확한 검색을 기반으로 데이터를 성공적으로 반환 할 수있었습니다.

예를 들어 사이트에서 : https://jsonpath.com/ 전화 번호를 기반으로 전화 유형을 성공적으로 검색 할 수 있습니다.

JSON

{
  "firstName": "John",
  "lastName" : "doe",
  "age"      : 26,
  "address"  : {
    "streetAddress": "naist street",
    "city"         : "Nara",
    "postalCode"   : "630-0192"
  },
  "phoneNumbers": [
    {
      "type"  : "iPhone",
      "number": "0123-4567-8888"
    },
    {
      "type"  : "home",
      "number": "0123-4567-8910"
    }
  ]
}

질문

$.[?(@.number== '0123-4567-8888')].type

그러나 부분 검색 결과를 일치시키는 방법을 보여주는 예를 찾을 수 없습니다. "0123"만 제공하여 "home"과 "iPhone"이 모두 결과로 반환되는 쿼리를 작성하려고합니다. 어떻게해야합니까?

답변

1 DmitriT Aug 20 2020 at 23:05

엄격한 값 대신 정규 표현식을 제공 할 수있는 =~일치 필터 연산자 를 사용할 수 있으므로 다음과 같이 쿼리를 수정할 수 있습니다.

$.phoneNumbers[?(@.number=~/.*0123.*/)].type

결과로 두 가지 유형이 모두 표시됩니다.

추가 정보 : JMeter의 JSON 경로 추출기 플러그인-고급 사용 시나리오