Tôi muốn kiểm tra xem văn bản mà người dùng nhập có phải là JSON hợp lệ hay không. Tôi biết tôi có thể dễ dàng làm điều đó bằng một cái gì đó như thế này:Xác thực JSON từ Mongo?
function IsJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
Vấn đề của tôi là với JSON mà đến từ Mông Cổ, được bọc trong ObjectId
, ISODate
, ví dụ:
{
"_id" : ObjectId("5733b42c66beadec3cbcb9a4"),
"date" : ISODate("2016-05-11T22:37:32.341Z"),
"name" : "KJ"
}
Đây không phải là hợp lệ JSON. Làm thế nào tôi có thể đi về xác nhận JSON trong khi cho phép một cái gì đó như trên?
Điều này chắc chắn không phải là lừa! Điều chỉnh duy nhất tôi thực hiện thay vì ''" $ 1 (\ "$ 2 \") "'', tôi đặt dấu nháy đơn quanh $ 2 ''" $ 1 (\' $ 2 \ ') "'' để nó hiển thị dưới dạng '" ObjectId ('1234') "' thay vì '" ObjectId ("1234") "', trong đó dấu ngoặc kép tự thoát. – KJ3