Me he confundido sobre cuándo usar estos dos métodos de análisis.
Después de hacer eco de mis datos codificados en json_ y recuperarlos a través de ajax, a menudo me encuentro con confusión sobre cuándo debería usar JSON.stringify y JSON.parse .
Me meto [object,object]
en mi console.log cuando se analiza y un objeto JavaScript cuando se stringifica.
$.ajax({
url: "demo_test.txt",
success: function(data) {
console.log(JSON.stringify(data))
/* OR */
console.log(JSON.parse(data))
//this is what I am unsure about?
}
});
javascript
json
HIRA THAKUR
fuente
fuente
json.stringify(json.parse(data))
.Respuestas:
JSON.stringify
convierte un objeto JavaScript en texto JSON y almacena ese texto JSON en una cadena, por ejemplo:JSON.parse
convierte una cadena de texto JSON en un objeto JavaScript, por ejemplo:fuente
JSON.parse()
es para "analizar" algo que se recibió como JSON.JSON.stringify()
es crear una cadena JSON a partir de un objeto / matriz.fuente
JSON.stringify(3)
Son lo contrario el uno del otro.
JSON.stringify()
serializa un objeto JS en una cadena JSON, mientrasJSON.parse()
que deserializará una cadena JSON en un objeto JS.fuente
Son los opuestos el uno del otro.
JSON.stringify ()
JSON.stringify () serializa un objeto o valor JS en una cadena JSON.
JSON.parse ()
El método JSON.parse () analiza una cadena como JSON, opcionalmente transformando el valor producido.
fuente
parse()
seríaobjectify()
ojsonify()
.jsonify()
sería ambigua y engañosa, ya queparse()
no no convertir unaString
a unJSON
tipo (que es lo quejsonify()
haría indica), peroparse()
convierte un formato JSONString
a cualquiera de:Object
,Array
,Number
,String
,Boolean
onull
. La gente a menudo confunde JSON "representación de cadena" yObject
(odict
en Python, etc.).En primer lugar, la
JSON.stringify()
función convierte un valor de JavaScript en una cadena de notación de objetos de JavaScript (JSON).JSON.parse()
La función convierte una cadena de notación de objetos JavaScript (JSON) en un objeto. Para obtener más información sobre estas dos funciones, consulte los siguientes enlaces.https://msdn.microsoft.com/library/cc836459(v=vs.94).aspx https://msdn.microsoft.com/library/cc836466(v=vs.94).aspx
En segundo lugar, la siguiente muestra será útil para que comprenda estas dos funciones.
fuente
// El resultado será:
// Para 1st Console es un String Like:
// Para la 2da consola hay un objeto como:
fuente
JSON.stringify()
Convierte un objeto en una cadena.JSON.parse()
Convierte una cadena JSON en un objeto.fuente
La verdadera confusión aquí no se trata de analizar vs stringify, se trata del tipo de datos del
data
parámetro de la devolución de llamada exitosa.data
puede ser la respuesta en bruto, es decir, una cadena, o puede ser un objeto JavaScript, según la documentación:Y el tipo de datos predeterminado es una configuración de 'conjetura inteligente'
fuente
Cadena JSON de objeto <-> JavaScript
JSON.stringify (obj): toma cualquier objeto serializable y devuelve la representación JSON como una cadena.
JSON.parse (cadena): toma una cadena JSON bien formada y devuelve el objeto JavaScript correspondiente.
Explicación: JSON.stringify (obj [, sustituto [, espacio]]);
Replacer / Space: opcional o toma un valor entero o puede llamar a la función de retorno de tipo entero.
fuente
Son completamente opuestos el uno del otro.
JSON.parse()
se utiliza para analizar datos que se recibieron como JSON ; se deserializa una cadena JSON en un objeto JavaScript .JSON.stringify()
por otro lado, se usa para crear una cadena JSON a partir de un objeto o matriz ; que serializa un objeto JavaScript en una cadena JSON .fuente
No sé si se ha mencionado, pero uno de los usos de JSON.parse (JSON.stringify (myObject)) es crear un clon del objeto original.
Esto es útil cuando desea meterse con algunos datos sin afectar el objeto original. Probablemente no sea la forma más limpia / rápida, pero ciertamente la más simple para objetos que no son masivamente complejos.
fuente
JSON.stringify(obj [, replacer [, space]])
- Toma cualquier objeto serializable y devuelve la representación JSON como una cadena.JSON.parse(string)
- Toma una cadena JSON bien formada y devuelve el objeto JavaScript correspondiente.fuente
Se oponen entre sí.
JSON.Stringify()
convierte JSON en cadena yJSON.Parse()
analiza una cadena en JSON.fuente
JSON: se utiliza principalmente para intercambiar datos hacia / desde el servidor. Antes de enviar el objeto JSON al servidor, debe ser una cadena.
También convierte la matriz de Javascript en cadena
Cuando recibimos los datos JSON del servidor, los datos serían el formato de cadena, por lo que convertimos la cadena en un objeto JSON.
fuente
JSON.parse()
se usa para convertir String a Object.JSON.stringify()
se utiliza para convertir objetos en cadenas.Puedes referir esto también ...
fuente
JSON.parse () toma una cadena JSON y la transforma en un objeto JavaScript.
JSON.stringify () toma un objeto JavaScript y lo transforma en una cadena JSON.
Y aunque los métodos generalmente se usan en objetos, también se pueden usar en matrices:fuente