Lọc JSON bằng JSONPath
Trích đúng phần dữ liệu cần lấy từ một JSON dài bằng đường dẫn JSONPath — ví dụ lấy tên của mọi người dùng, hay chỉ những sản phẩm có giá dưới 10.
Cách lọc JSON bằng JSONPath
- Dán JSON vào ô bên trái.
- Nhập đường dẫn JSONPath vào ô "Đường dẫn", luôn bắt đầu bằng $ — ví dụ $.users[*].name để lấy tên của mọi người dùng.
- Kết quả là danh sách các giá trị tìm thấy. Bật "Kèm đường dẫn của từng giá trị" để biết mỗi giá trị nằm ở đâu.
Câu hỏi thường gặp
$ là toàn bộ dữ liệu. .ten lấy một trường, [0] lấy phần tử đầu của danh sách, [-1] lấy phần tử cuối, [*] lấy tất cả, [1:3] lấy phần tử thứ 2 và thứ 3, còn ..ten tìm trường đó ở mọi tầng. Ví dụ: $.users[0].name hoặc $..price.
Dùng [?(...)], trong đó @ là từng phần tử đang xét. Ví dụ $.products[?(@.price < 10)] lấy các sản phẩm giá dưới 10. Có thể so sánh bằng ==, !=, <, <=, > và >=, và ghép điều kiện bằng && (và), || (hoặc), ! (không). Chỉ viết [?(@.isbn)] để lấy những phần tử có trường đó.
Đặt tên trong ngoặc vuông và dấu nháy kép, ví dụ $["first name"] hoặc $.users[0]["first-name"].
Một đường dẫn có thể khớp nhiều giá trị nên kết quả luôn là danh sách. Nếu chỉ khớp một giá trị thì danh sách có đúng một phần tử, nếu không khớp giá trị nào thì là danh sách rỗng [].
Có, trong bộ lọc. length(@.name) đếm số ký tự của chữ (hoặc số phần tử của danh sách), count(@.tags[*]) đếm số giá trị tìm được, value(@..color) lấy giá trị duy nhất tìm được, match(@.name, "^An") kiểm tra cả chuỗi khớp với mẫu, còn search(@.name, "An") kiểm tra chuỗi có chứa mẫu. Ví dụ: $.users[?(length(@.name) > 3 && match(@.name, "^B"))].
Cú pháp regex cơ bản: chữ thường, dấu chấm (một ký tự bất kỳ), [abc] và [a-z], [^abc] (loại trừ), * + ? và số lần lặp cụ thể, | (hoặc), nhóm (…), ^ và $ (đầu và cuối chuỗi), \d \w \s, \b (biên của từ) và nhóm chữ Unicode như \p cho chữ hoa. Không có tìm trước, tìm sau (?=…) và tham chiếu ngược (\1). Đổi lại, mẫu luôn chạy nhanh — kể cả mẫu viết dở cũng không làm treo trang. Lưu ý: trong đường dẫn, dấu \ phải viết đôi, ví dụ \"\\d+\" để mẫu là \d+.
Không. Số được giữ nguyên như trong JSON, và khi lọc theo số công cụ so sánh chính xác từng chữ số.
Không. JSON được xử lý ngay trên máy bạn.
Không. Công cụ hoàn toàn miễn phí, không cần đăng ký.
Công cụ liên quan
JSON sang YAMLChuyển qua lại giữa JSON và YAMLJSON sang TOMLChuyển qua lại giữa JSON và TOMLJSON sang CSVChuyển qua lại giữa JSON và bảng CSVJSON sang XMLChuyển JSON thành XML có thụt lềJSON sang TypeScriptTạo interface TypeScript từ JSON mẫuJSON sang JSON SchemaTạo JSON Schema từ một đoạn JSON mẫuKiểm tra JSON SchemaKiểm tra dữ liệu JSON có khớp JSON Schema khôngJSON sang ZodTạo schema Zod từ JSON mẫuJSON sang Go structTạo Go struct từ JSON mẫu