엄격한 JSON 준비
붙여넣기 또는 로컬 파일을 사용할 수 있습니다. 파일은 500,000바이트, 읽은 입력은 500,000자까지입니다. 가져오기, 예제, 비우기는 교체 미리 보기 후 적용하며 한 번 되돌리면 표현식과 결과도 복원됩니다. 파일은 올바른 UTF-8이어야 합니다. BOM을 자동 제거하지 않으며 JSON 검사에서 오류가 납니다.
JSON 도구
나이 필터를 버튼 또는 Ctrl/Cmd+Enter로 실행하세요. 입력이나 표현식을 수정하면 다시 실행해야 합니다.
미리 보기는 5,000자씩 표시합니다. 복사와 다운로드에는 전체 결과가 포함됩니다.
JSON과 표현식은 브라우저 메모리에만 있으며 저장하지 않습니다.
공식 jmespath.js 0.16.0 · 안전 패치 · 표준 함수 26개
결과가 오래되어 복사와 다운로드를 사용할 수 없습니다.
JMESPath 테스트기는 클라우드 응답에서 이름 목록이나 개수만 필요한 상황에 유용합니다. 값뿐 아니라 반환되는 구조도 확인하면 스크립트가 객체와 배열을 혼동하는 문제를 미리 찾을 수 있습니다.
JSON 데이터에 짧은 JMESPath 표현식을 적용해 보세요. 예제 쿼리로 필드 투영과 새 객체 구성을 비교할 수 있으며 원본 문서는 변경하지 않습니다.
나이 조건으로 사람을 고른 다음 이름을 투영합니다. 투영 결과가 null인 항목은 빠지므로 결과 길이가 원래 배열과 같다고 가정하면 안 됩니다. 위치를 보존해야 한다면 다중 선택 목록의 동작도 확인하세요.
이름 배열과 개수를 하나의 객체에 넣거나 속성으로 정렬할 수 있습니다. JMESPath 테스트기로 실제 반환 키와 타입을 확인한 뒤 같은 표현식을 스크립트로 옮기세요.
붙여넣기 또는 로컬 파일을 사용할 수 있습니다. 파일은 500,000바이트, 읽은 입력은 500,000자까지입니다. 가져오기, 예제, 비우기는 교체 미리 보기 후 적용하며 한 번 되돌리면 표현식과 결과도 복원됩니다. 파일은 올바른 UTF-8이어야 합니다. BOM을 자동 제거하지 않으며 JSON 검사에서 오류가 납니다.
자동 실행은 없으며 Ctrl/Cmd+Enter도 사용할 수 있습니다. 예제 쿼리를 선택하면 표현식만 바뀝니다. 입력이 바뀌면 이전 결과가 오래된 상태가 되어 새 실행이 성공할 때까지 복사와 다운로드를 막습니다.
null, false, 0, 빈 문자열과 []는 모두 정상 결과일 수 있습니다. 미리 보기는 5,000자씩 추가하지만 복사와 다운로드에는 허용된 전체 결과가 포함됩니다.
people[?age >= `18`].name은 나이를 숫자로 비교한 다음 이름을 반환합니다. 숫자 리터럴은 백틱으로 감싸며 숫자가 들어 있는 문자열은 숫자 타입과 다릅니다.
{names: people[].name, count: length(people)}로 배열과 개수를 새 객체에 담습니다. 다중 선택 목록은 투영에서 생략되는 null을 원래 위치에 남길 수 있습니다.
파이프는 왼쪽 전체 결과를 오른쪽 식에 넘깁니다. sort_by의 &age는 표현식 참조로, 속성 이름을 적은 일반 문자열과 다릅니다. 각 함수가 요구하는 인수 타입을 확인하세요.
잘못된 JSON, 문법, 알 수 없는 함수, 인수 개수와 타입 오류를 구별합니다. 없는 키를 조회해 null이 나오면 정상 값으로 표시하며 구문 오류로 바꾸지 않습니다.
{names: people[].name, count: length(people)} 같은 다중 선택 객체로 여러 결과를 묶을 수 있습니다. 배열과 개수를 한 객체에 반환하며 입력 문서는 그대로입니다.
people[].{label: name}처럼 콜론 앞에 새 키를 적습니다. name을 읽어 label이라는 이름으로 반환합니다. 원래 필드가 없으면 새 객체의 값은 null이 될 수 있습니다.
people[].name으로 배열 요소의 name을 투영합니다. 이때 null 결과는 생략됩니다. 예상한 목록이 나오지 않으면 실제 배열 단계와 필드 철자를 확인하세요.
people[?active == `true`].name은 active가 부울 true인 사람을 남깁니다. 문자열 'true'와는 다릅니다. JMESPath 테스트기에서 조건을 하나씩 확인하고 논리 연산자로 결합하세요.
people[].name | [0]은 먼저 전체 이름 목록을 만든 뒤 첫 번째 요소를 선택합니다. 파이프가 전달하는 것은 JSON 값이며 운영체제 명령을 실행하지 않습니다.
쿼리가 예상과 다르게 처리되나요?