• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

131
Vistas
Reemplazar una variable en el objeto JSON

Estoy escribiendo código JavaScript en el que quiero reemplazar una cadena en el objeto JSON y mi código es el siguiente.

 var obj = { "name": "name is $name", "work": "$name is doctor", "maritial status": "unmarried" }; obj = Object.keys(obj).map(function(key, index) { return (obj[key].includes('$name')) ? obj[key].replace('$name', 'John'): obj[key]; }); console.log(obj);

Aquí quiero reemplazar $name con John e imprimir el JSON, pero desafortunadamente, esto está imprimiendo solo los valores como a continuación en lugar de todo el JSON.

["name is John", "John is doctor", "unmarried"]

¿Dónde estoy fallando y cómo puedo solucionarlo?

almost 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Sigues mencionando JSON pero lo que tienes es un objeto JavaScript . JSON es una cadena. Por lo tanto, sería mucho más fácil para usted mantenerlo como una cadena, hacer un reemplazo simple en el nombre y luego analizarlo en un objeto.

 const json = '{"name":"name is $name","work":"$name is doctor", "maritial status":"unmarried"}'; const updated = json.replaceAll('$name', 'John'); console.log(JSON.parse(updated));

almost 3 years ago · Juan Pablo Isaza Denunciar

0

Si desea obtener un objeto transformado como resultado, asigne el valor modificado al objeto original:

 var obj = { "name": "name is $name", "work": "$name is doctor", "maritial status": "unmarried" }; Object.keys(obj).forEach(function(key) { if (obj[key].includes('$name')) { obj[key] = obj[key].replace('$name', 'John'); } }); console.log(obj);

O use Object.entries y Object.fromEntries para mapear a un nuevo objeto:

 var obj = { "name": "name is $name", "work": "$name is doctor", "maritial status": "unmarried" }; const newObj = Object.fromEntries( Object.entries(obj).map(([key, val]) => [key, val.replace('$name', 'John')]) ); console.log(newObj);

almost 3 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el método Object.entries u otros métodos de objetos para resolver su problema, uno de ellos podría ser ...

 let obj = { "name": "name is $name", "work": "$name is doctor", "maritial status": "unmarried" }; Object.entries(obj).forEach(item => { if ((obj[item[0]].includes('$name'))) { item[1] = item[1].replace("$name", "John"); obj[item[0]] = item[1]; } }) console.log(obj);
almost 3 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda