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

84
Visualizações
Tratando de transformar esta cadena en un objeto

tengo esta cadena:

 posts{id,title},posts2{id,title}

Me gustaría transformarlo en un objeto:

 { posts: [ 'id', 'title' ], posts2: [ 'id', 'title' ] }

¿Cómo puedo hacer esto?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Dado que la cadena será válida con el formato especificado:

Puede dividir la cadena en pares de elementos de lista clave. Luego, itere sobre ellos e inserte cada uno en un objeto de la siguiente manera:

 const stringify = string => { const obj = {}; if(string) { const pairs = string.substring(0,string.length-1).split('},'); pairs.forEach(pair => { const [key,value] = pair.split('{'); obj[key] = value.split(",").filter(String); }); } return obj; } console.log( stringify('posts{id,title},posts2{id,title}') ); console.log( stringify('posts{id,title}') ); console.log( stringify('posts{}') ); console.log( stringify('') );

over 4 years ago · Santiago Trujillo Relatório

0

Este fragmento funciona hasta que trabaja con un objeto de 1 nivel. Si necesita analizar un objeto anidado, debe refactorizarlo ligeramente.

 const input = 'posts{id,title},posts2{id,title}'; const parse = (input) => { return input .replaceAll('{', '[') .replaceAll('}', ']') .replaceAll('],', '] , ') .split(' , ') .reduce((_, item) => { const key = item.split('[')[0]; const value = item .replace(`${key}[`, '') .replace(']', '') .split(',') return { ..._, [key]: value }; }, {}) }; const parsed = parse(input);

De todos modos, no sé cuál es el beneficio de tratar con esta notación.

over 4 years ago · Santiago Trujillo 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