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

210
Visualizações
Convertir matriz en archivo JSON a cadena

Aquí hay un fragmento de mi objeto JSON (EDITADO) -

 [{ "traditional": "%", "simplified": "%", "referencedTraditional": [], "referencedSimplified": [], "pinyinNumeric": "pa1", "pinyinDiacritic": "pā", "definitions": [ "percent (Tw)" ], "definitionsDiacritic": [ "percent (Tw)" ] }, { "traditional":"龠","simplified":"龠","referencedTraditional":[{"cp":"9fa0","c":"龠"}],"referencedSimplified":[{"cp":"9fa0","c":"龠"}],"pinyinNumeric":"yue4","pinyinDiacritic":"yuè","definitions":["ancient unit of volume (half a 合[ge3], equivalent to 50ml)","ancient flute"],"definitionsDiacritic":["ancient unit of volume (half a 合[gě], equivalent to 50ml)","ancient flute"]}, {"traditional":"龡","simplified":"龡","referencedTraditional":[{"cp":"9fa1","c":"龡"}],"referencedSimplified":[{"cp":"9fa1","c":"龡"}],"pinyinNumeric":"chui4","pinyinDiacritic":"chuì","definitions":["to blow (a flute)","archaic version of 吹"],"definitionsDiacritic":["to blow (a flute)","archaic version of 吹"]}, ]

Quiero convertir cada clave llamada definiciones de una matriz en una cadena.

Por ejemplo, de ["percent (Tw)"] a "percent (Tw)" . Básicamente, no quiero los soportes de matriz.

Hasta ahora, he intentado recorrer el archivo y convertir cada clave de "definiciones" con JSON.stringify() o toString() -

 translations.forEach(key => JSON.stringify((key.definitions)))

Sin embargo, nada cambia en el archivo de salida.

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

0

El problema con el código es el siguiente

 translations.forEach(key => JSON.stringify((key.definitions)))

Simplemente ejecutar esta declaración no actualizará el valor de la clave dentro de ese objeto. Tienes que actualizar el objeto para esto.

Lógica.

  • Recorra las claves en las translations de objetos. Object.entries(translations).forEach para eso.
  • Verifique cada clave, si incluye "definitions" en esa clave.
  • Si la clave tiene "definitions" en eso, ejecute su lógica de cadena. Prefiero Array.join() en comparación con JSON.stringify .
  • Actualice la clave de ese objeto.

violín de trabajo

 const translations = { "traditional": "%", "simplified": "%", "referencedTraditional": [], "referencedSimplified": [], "pinyinNumeric": "pa1", "pinyinDiacritic": "pā", "definitions": [ "percent (Tw)" ], "definitionsDiacritic": [ "percent (Tw)" ] } Object.entries(translations).forEach(([key, value]) => key.includes('definitions') ? translations[key] = translations[key].join("") : null); console.log(translations);

about 4 years ago · Juan Pablo Isaza Relatório

0

 const obj = { traditional: '%', simplified: '%', referencedTraditional: [], referencedSimplified: [], pinyinNumeric: 'pa1', pinyinDiacritic: 'pā', definitions: ['percent (Tw)'], definitionsDiacritic: ['percent (Tw)'], }; const returnStringDefinitions = (obj) => { const arr = []; for (const [key, value] of Object.entries(obj)) { if (key === 'definitions') arr.push(value.toString()); } return arr; }; console.log(returnStringDefinitions(obj));

about 4 years ago · Juan Pablo Isaza Relatório

0

Creo que lo que te puede estar pasando es que no estás guardando la matriz resultante en ninguna parte. El enfoque podría ser crear un nuevo objeto.

 const obj = { traditional: '%', simplified: '%', referencedTraditional: [], referencedSimplified: [], pinyinNumeric: 'pa1', pinyinDiacritic: 'pā', definitions: ['percent (Tw)'], definitionsDiacritic: ['percent (Tw)'], }; const output = Object.keys(obj).reduce((accumulator, currentKey) => { const currentValue = obj[currentKey]; if (currentKey === 'definitions' && Array.isArray(currentValue)) { accumulator[currentKey] = currentValue.join(''); } else { accumulator[currentKey] = currentValue; } return accumulator; }, {}) console.log(output);

Esta solución verifica si es una matriz, y también une todo en la matriz en caso de que haya varias cosas en la matriz, pero cómo se maneja esto realmente depende de usted :)

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