Estoy tratando de convertir una cadena en un objeto y llenar NA en caso de que el valor de esa clave no esté presente.
Tengo una cadena como esta.
let stroy = {"Name":"","Id":"abc", "test": "" "}con este
JSON.Parse(stroy)Puedo convertir, pero Cómo llenar NA en caso de que no haya ningún valor presente.
Hay alguna otra manera de hacer esto ?
Gracias
Puede hacer un bucle en el objeto después del análisis. Durante el bucle, simplemente verifique si los datos se encuentran en esa clave o no
let stroy = `{"Name":"","Id":"abc", "test": ""}` stroy = JSON.parse(stroy) for (var key in stroy) { if(!stroy[key]) { stroy[key] = 'NA' } } console.log(stroy)Puede usar Object.keys() y Array.map() para crear una lista de pares clave/valores. Si el valor está vacío, lo reemplazaremos con un valor predeterminado, en este caso 'NA'.
Usamos Object.fromEntries() para volver a convertir a un objeto.
let stroy = {"Name":"", "Id":"abc", "test": ""}; const defaultValue = 'NA'; let result = Object.fromEntries(Object.keys(stroy).map(key => { return [key, stroy[key] || defaultValue ]; })); console.log('Result:', result);Parece que tienes un "extra " en tu objeto.
let stroy = {"Name":"","Id":"abc", "test": ""} let stringStroy = JSON.stringify(stroy).replaceAll('""','"NA"') console.log(JSON.parse(stringStroy))