Traté de extraer algunos datos de un archivo json y usé console.log() para probarlo. Para asegurarme de que sea más fácil de leer, utilicé literales de plantilla para resaltarlo con información adicional. Sin embargo, sigo obteniendo [object, Object] . Supuse que no pude extraer los datos e inspeccioné los datos del archivo json durante horas. Eventualmente, descubrí que necesito los datos correctamente, pero me falló console.log().
Así que pensé que era una cuestión de literales de plantilla, así que probé las otras dos formas y todavía obtuve los mismos resultados. ¿Por qué?
var obj = { "date": "Sun Jun 14 21:36:17 UTC 2009", "user": "captain_pete", "tweet": "Reading the tweets coming out of Iran... The whole thing is terrifying and incredibly sad..." } console.log(obj) console.log('Obj1: ' + obj) console.log('Obj2: ' + obj.toString() console.log(`Obj3: ${obj}`)
Producción:
{date: 'Sun Jun 14 21:36:17 UTC 2009', user: 'captain_pete', tweet:'Reading the tweets coming out of Iran... The whole thing is terrifying and incredibly sad...'} Obj1: [object Object] Obj2: [object Object] Obj3: [object Object]
Las últimas tres líneas invocan Object.toString()
en obj
, que de forma predeterminada devuelve una cadena en forma de [object type]
.
Si desea el objeto como una cadena, puede usar JSON.stringify
:
var obj = { "date": "Sun Jun 14 21:36:17 UTC 2009", "user": "captain_pete", "tweet": "Reading the tweets coming out of Iran... The whole thing is terrifying and incredibly sad..." } Object.prototype.toString = function(){ return JSON.stringify(this) } console.log(obj) console.log('Obj1: ' + obj) console.log('Obj2: ' + obj.toString()) console.log(`Obj3: ${obj}`)