Tôi đang bị gửi một chuỗi JSON bị hình thành từ một bên thứ ba. Tôi đã thử sử dụng JSON.parse(str)
để phân tích cú pháp thành đối tượng JavaScript nhưng tất nhiên là không thành công.Phân tích cú pháp chuỗi JSON bị hình thành
Các Lí do là các phím không dây:
{min: 100}
Trái ngược với chuỗi hợp lệ JSON (mà phân tích tốt):
{"min": 100}
tôi cần phải chấp nhận các chuỗi hình thành bệnh cho bây giờ. Tôi tưởng tượng quên các phím báo giá đúng là một sai lầm phổ biến. Có cách nào tốt để thay đổi điều này thành chuỗi JSON hợp lệ để tôi có thể phân tích cú pháp không? Bây giờ tôi có thể phải phân tích nhân vật theo nhân vật và thử và tạo thành một vật thể, nghe thật khủng khiếp.
Ý tưởng?
Dường như có một số giải pháp ở đây: http://stackoverflow.com/questions/4210160/safely-parsing-a-json-string-with-unquoted-keys?rq=1 – showdev
Tôi nghĩ rằng việc sử dụng hàm tạo hàm nên làm việc trong trường hợp này: 'var data = new Function ('return' + illFormedJSON;)()' – m90
'(?: [az] +): +' Tôi muốn tìm kiếm tất cả các khóa không thích hợp. Đây không phải là một regex hoàn chỉnh cho nên cho bạn một nơi để bắt đầu. Không có thời gian để trả lời đầy đủ câu hỏi. – travis