ho JavaScript Object dire:JSON.stringify conversione Infinity su null
var a = {b: Infinity, c: 10};
Quando faccio
var b = JSON.stringify(a);
esso restituisce il seguente
b = "{" b ": null , "c": 10} ";
In che modo JSON.stringify converte l'oggetto in stringhe?
Ho provato MDN Solution.
function censor(key, value) {
if (value == Infinity) {
return "Infinity";
}
return value;
}
var b = JSON.stringify(a, censor);
Ma in questo caso devo restituire la stringa "Infinity" Non Infinity
. Se restituisco Infinity, converte nuovamente Infinity in null.
Come risolvere questo problema.
Questo posso sempre fare, ma sarebbe bello avere l'infinito non "Infinity", come non ho bisogno per eseguire questa controllo aggiuntivo sulle mie centinaia di oggetti con centinaia di proprietà. –
Come ho scritto nella mia risposta, un file JSON contenente 'Infinity' (senza virgolette) come valore non sarà JSON valido. Non dovresti voler scrivere file JSON non conformi allo standard. – JohnB
@DigvijayYadav, temo che dovrai vivere con la natura della bestia. – KooiInc