Estoy usando node.js. Leí un objeto de un archivo como JSON usando.
archivo vc_channels.json:
{ "hangout-room": "hangout-room is a voice and/or video room for anything sfw and not necessarily related to meditation." }código para leer:
fileContent = fs.readFileSync('./vc_channels.json'); vc_channels = JSON.parse(fileContent);pero luego cuando trato de acceder:
console.log(vc_channels); console.log(channel.name); item.topic = vc_channels[channel.name]; console.log(item.topic);El resultado es indefinido: console.log
{ 'hangout-room': 'hangout-room is a voice and/or video room for anything sfw and not necessarily related to meditation.' } hangout-room undefined¿Alguien sabe lo que estoy haciendo mal?
Si copio su texto para vc_channels.json , puedo ver que hay un \u200b espacio de ancho cero) dentro de la parte "hangout-room" :
En el siguiente recorte podemos ver que el primer código ASCII es 200b y luego tenemos 68 que es h y así sucesivamente:
const x = "hangout-room"; // This prints: [200b","68", "61", "6e", "67", "6f", "75", "74", "2d", "72", "6f", "6f", "6d"] console.log(x.split('').map(c => c.charCodeAt().toString(16))); Entonces solo tiene que eliminar el carácter de espacio de ancho cero desde allí. Simplemente copie el resultado de esto en su archivo json: "hangout-room".replace('/200b', '') O use cualquier editor de texto que pueda mostrar este tipo de caracteres extraños y le permita eliminarlo.