【问题标题】:receive string from input and convert it to javascript object [duplicate]从输入接收字符串并将其转换为javascript对象[重复]
【发布时间】:2019-07-16 17:52:07
【问题描述】:

我想接收我的 javascript 对象,例如

{ "user": { "active": true,  "dob": '1988-09-11', "group": 14, "department: "business"" } }

使用节点包(例如readline-sync)从输入中,并将其存储为对象,以便能够使用它们的键单独访问值。 readline-sync 将我的输入存储为字符串,我尝试使用

将其转换为 javascript 对象
let obj= JSON.parse(JSON.stringify(stringObj));

但它仍然是字符串。 是否可以从输入中接收字符串并将其转换为对象?

【问题讨论】:

  • 你为什么要对字符串进行字符串化?

标签: javascript node.js javascript-objects


【解决方案1】:

JSON.stringify() 接收一个对象并返回一个字符串。如果你想做的是逆向(将JSON字符串转换为对象),你需要使用JSON.parse() 那么,你想要的是:

let obj = JSON.parse(stringObj);

【讨论】:

  • 然后它给出了这个错误。位置 36 处的 JSON 中的意外标记 ' 或位置处 JSON 中的意外数字。我的对象的值可以是日期或数字,它们都不是字符串。
  • JSON 上的字符串(例如您问题上的“dob”属性)符号有双引号 (")。此外,您在“department”属性上缺少引号。您的 JSON 字符串应如下所示这个:'{ "user": { "active": true, "dob": "1988-09-11", "group": 14, "department": "business" } }'
猜你喜欢
  • 2020-11-15
  • 1970-01-01
  • 1970-01-01
  • 2015-09-24
  • 1970-01-01
  • 2019-11-04
  • 2013-09-03
  • 2017-10-20
  • 2020-08-12
相关资源
最近更新 更多