【问题标题】:Converting a string to an *almost* JSON [duplicate]将字符串转换为*几乎* JSON [重复]
【发布时间】:2022-01-20 16:52:18
【问题描述】:

所以我有一个看起来像这样的字符串:

'{utopia:1,word:2,sentence:3,tourism:4,home:5}'

我想将其转换为如下所示的对象:

{utopia:1,word:2,sentence:3,tourism:4,home:5}

我尝试在原始字符串上使用 JSON.parse(),但得到“SyntaxError: Unexpected token u in JSON at position 1”。我认为这是因为对象的键周围没有引号(在经典的 JSON 对象中,它就像 "utopia":1,...)

不知道如何解决这个问题。任何建议都非常感谢。

【问题讨论】:

  • “价值”总是数字吗?这个字符串的来源是什么?
  • 值得指出的是,with eval(以及随之而来的所有危险)可以通过用括号括起来来完成,例如: eval('(' + str + ')')如图here
  • 我认为您的意思是 from 几乎是 JSON。

标签: javascript node.js json string parsing


【解决方案1】:

我认为你可以先用空字符串替换字符串中的 { 和 } 然后 yourstring.split(',') 之后 [items].reduce((a, v) => ({ ...a, [v]: v}), {}) 构建您的对象

【讨论】:

    猜你喜欢
    • 2011-09-10
    • 2014-07-06
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    • 2019-07-22
    相关资源
    最近更新 更多