为什么我得到 [object Object] javascript JSON 文件

Console.log(values) 返回“[object Object]”而不是记录数组。


这是我的代码:


let values = {

    "coins": 0,

    "griffinFeathers": 0,

    "souvenir": 0,

    "cogs": 0,

    "cats": 0,

    "golems": 0,

    "champions": 0,

    "minotaurs": 0,

    "inquisitors": 0

}


JSON.stringify(FileLib.write("MinotaurLoot", "values.json", values));

function thing() {

    fileThing = JSON.stringify(FileLib.read("MinotaurLoot", "values.json"));

    if (griffin_thing_idk) fileThing.griffin++;    

}


console.log(values) // [object Object]


三国纷争
浏览 160回答 1
1回答

翻翻过去那场雪

看着:JSON.stringify(FileLib.write("MinotaurLoot", "values.json", values));JSON.stringify()应该删除,因为您没有 在任何地方存储返回的对象的字符串化版本,或者执行类似的操作:const stringifiedValues =     JSON.stringify(FileLib.write("MinotaurLoot", "values.json", values));//Now you should be able to console.log without getting [object Object]console.log(stringifiedValues);现在,你得到的原因[object Object]是因为 JavaScript 的默认实现console.log()不能优雅地处理 JavaScript 对象,因为它们是比 String 或 Number 这样的基元“更复杂”的数据结构。正如@coderpc 在对您的问题的评论中所指出的,您可以在将对象JSON.stringify()包装在语句中之前使用该方法访问对象的内部内容console.log。让我们知道它是否有效。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript