【问题标题】:javascript; convert string to object [duplicate]javascript;将字符串转换为对象[重复]
【发布时间】:2020-11-15 18:41:17
【问题描述】:

我觉得我没有解释清楚,这是编辑过的。

{"code":200,"meta":"{item:{Title:'{\"text\":\"This is title.\"}', Description:['Description']}}","name":"Awesome Sword's Information","id":10442}

我想得到这个对象的meta。但我只能得到{item:{Title:'{"text":"This is title."}', Description:['Description']}}。如何将此字符串转换为 javascript 对象?谢谢。

【问题讨论】:

  • 您想将 JSON 转换为 JS 对象吗? REST API 通常需要 JSON 而不是 JS 对象。但是要将 JSON 转换为 JS 对象,您可以执行 JSON.parse()。要从 JS 对象转到 JSON,请执行 JSON.stringify()
  • @volume 1,这是自己的项目系统需要的我不知道该怎么做,但 json 会在 object.meta 上返回它
  • 所以你想要const myObject = JSON.parse(yourJSON) 然后做myObject.meta 但你的JSON字符串看起来不像正确的JSON。无论您从何处获得 JSON,都需要进行审查。确保您首先获得格式正确的 JSON,否则 JSON.parse() 将不起作用

标签: javascript object


【解决方案1】:

您可以使用 JSON.parse 从字符串中获取对象

const a = {result:{Title:'{"text":"This is title."}', Description:['Description']}}

const result = JSON.parse(a.result.Title)

console.log(result)

【讨论】:

  • 我认为问题在于 meta 键是无效的 JSON,所以问题是如何将其从该格式转换为 JavaScript 可以解析的格式。
【解决方案2】:

JSON 对象原生支持 JSON 解析。试试这个:

var obj = JSON.parse(text); 

【讨论】:

  • 问题是虽然 JSON 是有效的,但它包含一个包含无效 JSON 字符串的 meta 键。我相信 OP 希望解析它,而 JSON.parse 不会处理它。
猜你喜欢
  • 1970-01-01
  • 2019-11-04
  • 2013-09-03
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
  • 2014-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多