validator json

validator - Diferencia entre json.js y json2.js



json vs xml (3)

¿Puede alguien decirme cuál es la diferencia entre los 2 analizadores JSON?

https://github.com/douglascrockford/JSON-js/blob/master/json.js
https://github.com/douglascrockford/JSON-js/blob/master/json2.js

Tengo un archivo JSON de 2007-04-13 (Tiene métodos como parseJSON ). No veo estos métodos en ninguna de las nuevas versiones.


Citando aquí :

"JSON2.js: a fines del año pasado, Crockford lanzó silenciosamente una nueva versión de su API JSON que reemplazó su API existente. La diferencia importante era que usaba un único objeto base".


De su código:

// Augment the basic prototypes if they have not already been augmented. // These forms are obsolete. It is recommended that JSON.stringify and // JSON.parse be used instead. if (!Object.prototype.toJSONString) { Object.prototype.toJSONString = function (filter) { return JSON.stringify(this, filter); }; Object.prototype.parseJSON = function (filter) { return JSON.parse(this, filter); }; }

Supongo que parseJSON está obsoleto, por lo tanto, la nueva versión (json2) ya no lo usa. Sin embargo, si su código usa parseJSON mucho, puede agregar este fragmento de código en alguna parte para que funcione nuevamente:

Object.prototype.parseJSON = function (filter) { return JSON.parse(this, filter); };


También noté que json2 stringified arrays de manera diferente que json2007.

En json2007:

var array = []; array[1] = "apple"; array[2] = "orange"; alert(array.toJSONString()); // Output: ["apple", "orange"].

En json2:

var array = []; array[1] = "apple"; array[2] = "orange"; alert(JSON.stringify(array)); // Output: [null, "apple", "orange"].