Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

204
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 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 Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda