Tôi đã Object JavaScript nói:JSON.stringify chuyển đổi Infinity null
var a = {b: Infinity, c: 10};
Khi tôi làm
var b = JSON.stringify(a);
nó trả về sau
b = "{" b ": null , "c": 10} ";
JSON.stringify chuyển đổi đối tượng thành chuỗi như thế nào?
Tôi đã thử MDN Solution.
function censor(key, value) {
if (value == Infinity) {
return "Infinity";
}
return value;
}
var b = JSON.stringify(a, censor);
Nhưng trong trường hợp này, tôi phải trả lại chuỗi "Infinity" không Infinity
. Nếu tôi trở lại Infinity nó lại chuyển đổi Infinity thành null.
Làm cách nào để giải quyết vấn đề này.
này tôi luôn có thể làm, nhưng nó sẽ được tốt đẹp để có được những Infinity không "Infinity", như tôi không cần phải thực hiện điều này kiểm tra thêm về hàng trăm đối tượng của tôi có hàng trăm thuộc tính. –
Như tôi đã viết trong câu trả lời của tôi, một tệp JSON chứa 'Infinity' (không có dấu ngoặc kép) làm giá trị sẽ không là JSON hợp lệ. Bạn không nên viết các tệp JSON không tuân thủ chuẩn. – JohnB
@DigvijayYadav, tôi e rằng bạn sẽ phải sống với bản chất của con thú. – KooiInc