Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

195
Visualizações
Reemplazar una parte especial de una cadena JSON

Tengo un objeto JSON llamado users así:

 [{"givenName":"helen","sn":"brown","phone":"44512","details":"512"},{{"givenName":"John","sn":"Doe","phone":"44600","details":"512"}]

Aplico el método json.stringify para convertir este objeto JavaScript en una cadena JSON. Luego, uso replace para reemplazar el valor 512 con active . Aquí está mi código para implementar esto:

 var jsonUsers = JSON.stringify(users).replace(/512/g, 'active');

El problema es que cuando uso este código, reemplaza todos los 512 con active (por ejemplo, en mi ejemplo, cambia los valores de los details y también cambia el valor del phone de la primera persona con algo como 44active ), pero quiero aplicar esto reemplazo solo en los valores de la clave de details , no en toda la cadena (por ejemplo, no quiero verificar y reemplazar el valor del phone ). ¿Cómo puedo hacer esto?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

No intente reemplazar partes de un JSON. Arréglalo mientras es un objeto en su lugar.

 const arr = [{"givenName":"helen","sn":"brown","phone":"44512","details":"512"},{"givenName":"John","sn":"Doe","phone":"44600","details":"512"}]; for (const item of arr) { if (item.details === '512') { item.details = 'active'; } } console.log(JSON.stringify(arr));

about 4 years ago · Juan Pablo Isaza Relatório

0

const users = [{"givenName":"helen","sn":"brown","phone":"44512","details":"512"},{"givenName":"John","sn":"Doe","phone":"44600","details":"512"}]

Ahora usa array.map()

 const newArray = users.map(e => { return {...e, details: e.details==512 ? "active" : e.details}; });
about 4 years ago · Juan Pablo Isaza Relatório

0

Si solo desea reemplazar el texto de la propiedad de detalles, no es necesario convertir todo el objeto en una cadena. Simplemente puede iterar sobre la matriz usando el método Array.map() y luego reemplazar el valor de la propiedad de details en función de la regex .

Prueba esto :

 const jsonObj = [{ "givenName": "helen", "sn": "brown", "phone": "44512", "details": "512" }, { "givenName": "John", "sn": "Doe", "phone": "44600", "details": "512" }]; const res = jsonObj.map(obj => { obj.details = obj.details.replace(/512/g, 'active'); return obj; }); console.log(res);

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda