【问题标题】:Javascript JSON.parse expected parameter problemJavascript JSON.parse 预期参数问题
【发布时间】:2021-07-08 06:15:52
【问题描述】:

JSON.parse 需要一个文本作为第一个参数,如本页所述:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

JSON.parse(['["asd"]']) 结果为["asd"]。这是一个错误吗?

【问题讨论】:

  • 大部分内置函数(也许全部?)会自动将参数转换为预期的数据类型。

标签: javascript arrays json parsing ecmascript-6


【解决方案1】:

JSON.parse 期望你传递一个字符串。

你传递给它一个数组。

使用其toString 方法将数组隐式转换为字符串。

这会将其中的所有值(全部一个)扁平化为一个字符串。

const array = ['["asd"]'];
const string = "" + array;
console.log(string);

【讨论】:

【解决方案2】:

发生这种情况是因为Type coercion(如我之前所说的隐含)和Array.prototype.toString() 的结果的组合。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 2015-11-14
    • 1970-01-01
    • 2014-07-06
    • 2013-07-06
    相关资源
    最近更新 更多