Empiezo desde una cadena JSON, trato de convertirla en un objeto JSON y luego intento imprimir un campo específico (por ejemplo, firstName ), pero obtengo undefined . ¿Qué estoy haciendo mal? ¡Gracias!
var string = '{"firstName":"John", "lastName":"Doe"}' var obj = JSON.stringify(string) var json_object = JSON.parse(obj) console.log(json_object.firstName) console.log(json_object['firstName'])La string es cuerda. Así que no es necesario que encadenes eso.
var string = '{"firstName":"John", "lastName":"Doe"}' var json_object = JSON.parse(string) console.log(json_object.firstName)var string = '{"firstName":"John", "lastName":"Doe"}'; var obj = JSON.parse(string); console.log(obj.firstName)El objeto es una cadena, solo necesita analizar el JSON e imprimir lo que desea. Si hubiera creado un objeto JavaScript, allí puede usar Stringify para encadenar, pero no sería necesario. JSON Parse analiza una cadena en JSON.
Cuando pasa una cadena a JSON.stringify , es equivalente a pasar un objeto de cadena a JSON.stringify .
Después de ejecutar el código a continuación, obtuvo el resultado '"{\\"firstName\\":\\"John\\", \\"lastName\\":\\"Doe\\"}"' de la variable obj .
var string = '{"firstName":"John", "lastName":"Doe"}' var obj = JSON.stringify(string) Al final, use JSON.parse para analizar la cadena '"{\\"firstName\\":\\"John\\", \\"lastName\\":\\"Doe\\"}"' , obtendrá el objeto de cadena de '{"firstName":"John", "lastName":"Doe"}' .
Para más detalles, puede consultar Autoboxing: objetos de envoltorio primitivos en JavaScript .
Entonces, puede simplemente eliminar JSON.stringify(string) y pasar '{"firstName":"John", "lastName":"Doe"}' a JSON.parse directamente.