Tratamento de novas linhas em JSON
Ao trabalhar com dados JSON, é essencial lidar corretamente com novas linhas para evitar erros inesperados. Aqui está uma explicação detalhada do problema e sua solução.
O problema
Ao usar eval ou JSON.parse para analisar dados JSON contendo novas linhas, você pode encontrar erros como como "string literal não terminada". Isso ocorre porque novas linhas (\n e \r) não são reconhecidas em strings entre aspas duplas em JSON.
A solução
Para lidar com novas linhas em JSON, você precisa para escapá-los usando uma barra invertida dupla (\\) antes do caractere de nova linha. Por exemplo:
{ "count": 1, "stack": "sometext\\n\\n" }
Ao escapar das novas linhas, você as preserva nos dados JSON e evita que o analisador as interprete como parte da string.
Exemplo
Aqui está uma versão atualizada do seu código usando novas linhas de escape:
var data = '{ "count": 1, "stack": "sometext\\n\\n" }'; var dataObj = eval('(' data ')');
Este código agora analisará com êxito os dados JSON sem encontrar erros relacionados à nova linha.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3