Sửa JSON lỗi online
Sửa JSON hỏng: thiếu nháy, thiếu hoặc thừa dấu phẩy, comment, giá trị Python / JS, chuỗi bị cắt, khối code Markdown. Trả về danh sách lỗi đã sửa.
Kết quả
Bấm “Chạy” để xem kết quả.
Gửi đoạn text lẽ ra là JSON nhưng không parse được, thường là câu trả lời của mô hình ngôn ngữ, object literal JavaScript, dict Python hay một dòng log, API trả về JSON hợp lệ. Việc sửa (thư viện jsonrepair) gồm: thêm nháy cho key và chuỗi chưa có nháy, đổi nháy đơn và nháy cong thành nháy kép, bỏ comment, dấu phẩy thừa và chỗ giữ chỗ ..., thêm dấu phẩy, dấu hai chấm còn thiếu, đổi True / False / None và undefined / NaN, bóc lớp JSONP và hàm MongoDB (ObjectId("…")), nối "a" + "b", escape xuống dòng trong chuỗi và đóng chuỗi, ngoặc vuông, ngoặc nhọn của output bị cắt ngang.
Với câu trả lời của LLM, API cắt lấy phần JSON trước: khối code Markdown đầu tiên, hoặc đoạn từ { / [ đầu tiên tới } / ] cuối cùng. Nhiều giá trị ở cấp ngoài cùng (NDJSON, JSON lines) được gom thành mảng, JSON bị mã hoá thành chuỗi JSON được giải mã. Kết quả gồm text đã sửa (format giữ nguyên, pretty hoặc minify), dữ liệu đã parse data, danh sách fixes kèm vị trí xuất hiện đầu tiên, và với input tới 20.000 ký tự là danh sách changes chính xác từng ký tự.
Gửi kèm JSON Schema ở schema để kiểm tra luôn dữ liệu đã sửa (draft 2020-12). JSON hợp lệ được trả lại nguyên vẹn với valid_input: true. Text không thể thành JSON (ví dụ chỉ có dấu đóng ngoặc) trả về lỗi 422 kèm vị trí. Tối đa 5 MB; không lưu dữ liệu.
Dùng trong code của bạn
curl -X POST "https://apibox.io.vn/v1/json-repair" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"json":"```json\n{name: '\''Lan'\'', age: 30, tags: ['\''a'\'', '\''b'\'',], vip: True, note: None\n```"}'const res = await fetch('https://apibox.io.vn/v1/json-repair', {
method: 'POST',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"json": "```json\n{name: 'Lan', age: 30, tags: ['a', 'b',], vip: True, note: None\n```"
}),
});
const data = await res.json();
console.log(data);import requests
res = requests.post(
"https://apibox.io.vn/v1/json-repair",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={"json": "```json\n{name: 'Lan', age: 30, tags: ['a', 'b',], vip: True, note: None\n```"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/json-repair');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY', 'Content-Type: application/json'],
CURLOPT_POSTFIELDS => '{"json":"```json\\n{name: \'Lan\', age: 30, tags: [\'a\', \'b\',], vip: True, note: None\\n```"}',
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Tài liệu API → Nhận API key miễn phí
Hỏi đáp
JSON hợp lệ có bị thay đổi không?
Không. Input hợp lệ được trả lại nguyên vẹn (valid_input: true), trừ khi bạn chọn format=pretty hoặc minify.
Làm sao biết đã sửa những gì?
fixes nêu từng loại lỗi kèm vị trí đầu tiên và số lần; với input tới 20.000 ký tự, changes liệt kê mọi đoạn ký tự được thêm hoặc xoá.
API có tự bịa dữ liệu bị thiếu không?
Không. Giá trị bị cắt được đóng lại tại chỗ dừng (chuỗi bị cắt vẫn giữ nguyên phần còn lại, mảng và object đang mở được đóng); không đoán thêm gì.