Hola, he escrito esta pregunta porque tengo un json convertido en una cadena con una función de php llamada json_encode ()
Algo como esto:
{ "data":"2","state":"false"}cuando el json original que estoy tratando de codificar es así:
{ "data":2,"state":false}(Tenga en cuenta que el tipo de las variables es diferente, en el original tengo un número int llamado datos y un estado booleano llamado, pero cuando uso json_encode() cada variable va a una cadena...)
El problema es que cuando intento json.PARSE() el valor de la codificación json de php en angular no obtengo el valor correcto, cada variable es una cadena...
Por ejemplo, en lugar de obtener el estado booleano de la variable, obtengo "falso" o "verdadero", y esto es un problema...
¿Hay alguna manera de analizar esto evitando este problema? Básicamente, mi problema es que cuando analizo el json en mi proyecto angular, no obtengo el tipo correcto de variable.
¡Gracias!
Puede usar JSON.parse en un valor individual para convertirlo en el tipo deseado:
const oldValue = JSON.parse('{"data":"2","state":"false"}') const result = {} Object.keys(oldValue).forEach(key => { result[key] = JSON.parse(oldValue[key]); });Aquí está al revés:
const oldValue = JSON.parse('{"data": 2,"state": false}'); const result = {} Object.keys(oldValue).forEach(key => { result[key] = oldValue[key].toString(); });Nota: Estos ejemplos asumen objetos planos. Necesitará recurrir al árbol del objeto si algunos de los valores son objetos, por ejemplo {a: {b: "c"}}.