Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
JSONPath — http://goessner.net/articles/JsonPath/ 에서 가져온 JSONPath의 포크 | Kitploit
도구/GitHubGitHub/jsonpath-plus/jsonpath
General Purpose UtilitiesStatic AnalysisCode AnalysisScripting & AutomationUtilities & Frameworks
GitHubjsonpath-plus/jsonpath

JSONPath

http://goessner.net/articles/JsonPath/ 에서 가져온 JSONPath의 포크

저장소 보기
1.2k200336일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

npm

testing badge coverage badge

Known Vulnerabilities

Licenses badge

Node.js CI status

(개발 의존성에 대한 라이선스도 참조하세요.)

JSONPath Plus

JSON 문서(및 JavaScript 객체)에서 데이터를 분석, 변환, 선택적으로 추출합니다.

jsonpath-plus는 원래 명세를 확장하여 몇 가지 추가 연산자를 제공하고, 원래 명세에서 명시하지 않았던 일부 동작을 명확히 합니다.

브라우저 데모 또는 Runkit (Node)를 사용해 보세요.

참고: 이 프로젝트는 현재 활발히 유지보수되고 있지 않습니다. 문서화가 잘 된 PR이나 간단한 업데이트는 수용할 수 있지만, 직접 수정하거나 새로운 기능을 추가할 계획은 없습니다.

기능

  • 원래 jsonpath 명세와 호환됩니다
  • 원래 명세에서 제공하지 않는 편리한 추가 또는 확장 기능:
    • 일치하는 항목의 부모를 가져오는 ^
    • 일치하는 항목의 속성 이름을 (배열로) 가져오는 ~
    • 다음을 얻기 위한 타입 선택자:
      • 기본 JSON 타입: @null(), @boolean(), @number(), @string(), @array(), @object()
      • @integer()
      • 복합 타입 @scalar() (JavaScript 객체를 쿼리할 때 undefined와 비유한 숫자도 허용하며, 모든 기본 비객체/비함수 타입도 포함)
      • 사용자 정의 otherTypeCallback과 함께 사용할 수 있는 @other()
      • 비JSON JavaScript 객체를 쿼리할 때 사용할 수 있는 비JSON 타입 (@undefined(), @function(), @nonFinite())
    • 필터 내 축약 선택자 @path/@parent/@property/@parentProperty/@root
    • 이스케이프
      • 남은 시퀀스를 이스케이프하는 `
      • 필터 내 속성 이름의 특수 문자를 이스케이프하는 @['...']/?@['...'] 구문
    • $.. (모든 부모 구성 요소 가져오기) 문서화
  • ESM 및 UMD 내보내기 형식
  • 쿼리된 값 외에도 값에 대한 경로나 포인터, 부모 객체 및 부모 속성 이름(수정을 허용하기 위해)을 포함한 다양한 메타 정보를 반환할 수 있습니다.
  • 경로, 배열, 포인터 간 변환 유틸리티
  • 원래 명세에서 허용된 평가를 방지하거나 평가된 값에 대한 샌드박스를 제공하는 옵션.
  • 결과가 얻어질 때 결과를 처리하는 콜백 옵션.

벤치마킹

jsonpath-plus는 json-querying-performance-testing에 따르면 다른 json 쿼리 라이브러리와 비교하여 크고 작은 데이터셋 모두에서 일관되게 성능이 우수합니다. 프로젝트를 직접 실행하고 더 많은 성능 사례를 추가하여 이러한 결과를 확인할 수 있습니다.

설치

npm install jsonpath-plus

설정

Node.js

const {JSONPath} = require('jsonpath-plus');

const result = JSONPath({path: '...', json});

브라우저

브라우저에서 사용하려면 dist/index-browser-umd.cjs를 직접 포함하면 됩니다. Browserify 마법은 필요하지 않습니다:

<script src="node_modules/jsonpath-plus/dist/index-browser-umd.cjs"></script>

<script>

const result = JSONPath.JSONPath({path: '...', json: {}});

</script>

ESM (최신 브라우저)

최신 브라우저를 위한 ES6 모듈 임포트를 사용할 수도 있습니다:

<script type="module">

import {
    JSONPath
} from './node_modules/jsonpath-plus/dist/index-browser-esm.js';

const result = JSONPath({path: '...', json: {}});

</script>

ESM (번들러)

또는 JavaScript를 번들링하는 경우(예: Rollup 사용), 다음을 사용하면 되며, mainFields에 브라우저 빌드의 경우 browser가 포함되어야 한다는 점에 유의하세요(Node의 경우 module을 확인하는 기본값이면 충분합니다):

import {JSONPath} from 'jsonpath-plus';

const result = JSONPath({path: '...', json});

사용법

사용 가능한 전체 시그니처는 다음과 같습니다:

const result = JSONPath([options,] path, json, callback, otherTypeCallback);

인수 path, json, callback, otherTypeCallback은 options에서 (사용 가능한 다른 속성들과 함께) 대안적으로 표현될 수 있습니다.

result는 발견된 모든 항목을 (선택적으로 배열로 감싸서) 포함하는 반면, callback은 각 항목이 발견될 때마다 어떤 작업을 수행하고자 할 때 사용할 수 있으며, 콜백 함수는 결과에서 발견되는 독립적인 항목의 수에 따라 0회에서 N회까지 실행됩니다. JSONPath의 사용 가능한 인수에 대한 자세한 내용은 아래 문서를 참조하십시오.

API 문서도 참조하십시오.

속성

options 객체 또는 evaluate 메서드(첫 번째 인수로서)에 제공될 수 있는 속성은 다음과 같습니다:

도구 다운로드