Javascript 如何将长字符串转换为对象列表

Javascript 如何将长字符串转换为对象列表,javascript,Javascript,如何使用javascript将以下内容转换为对象列表 数据: 当我对数据执行typeof时,我得到字符串。我试图做的是为每个对象创建一个包含条目的列表。我尝试了JSON.parse,但它在花括号之间的逗号上出现了错误。谢谢。对于特定字符串–逗号分隔的JSON对象–您可以将其包装在数组括号中[]并对其进行解析: var data = `{"_id":{"$oid":"5d96f2d3db90fded9f3fa2d1"},"name":"Audi","price":52642},{"_id":{"$

如何使用javascript将以下内容转换为对象列表

数据:


当我对数据执行typeof时,我得到字符串。我试图做的是为每个对象创建一个包含条目的列表。我尝试了JSON.parse,但它在花括号之间的逗号上出现了错误。谢谢。

对于特定字符串–逗号分隔的JSON对象–您可以将其包装在数组括号中
[]
并对其进行解析:

var data = `{"_id":{"$oid":"5d96f2d3db90fded9f3fa2d1"},"name":"Audi","price":52642},{"_id":{"$oid":"5d96f2dedb90fded9f3fa2d2"},"name":"Mercedes","price":57127},{"_id":{"$oid":"5d96f304db90fded9f3fa2d3"},"name":"Skoda","price":9000},{"_id":{"$oid":"5d96f368db90fded9f3fa2d4"},"name":"Volvo","price":29000},{"_id":{"$oid":"5d96f370db90fded9f3fa2d5"},"name":"Bentley","price":350000},{"_id":{"$oid":"5d96f378db90fded9f3fa2d6"},"name":"Citroen","price":21000},{"_id":{"$oid":"5d96f37fdb90fded9f3fa2d7"},"name":"Hummer","price":41400},{"_id":{"$oid":"5d96f389db90fded9f3fa2d8"},"name":"Volkswagen","price":21600}`;
var parsed = JSON.parse(`[${data}]`);
然后,解析的
将是一个包含8个条目的数组:

[
  {
    "_id": {
      "$oid": "5d96f2d3db90fded9f3fa2d1"
    },
    "name": "Audi",
    "price": 52642
  },
  {
    "_id": {
      "$oid": "5d96f2dedb90fded9f3fa2d2"
    },
    "name": "Mercedes",
    "price": 57127
  },
  {
    "_id": {
      "$oid": "5d96f304db90fded9f3fa2d3"
    },
    "name": "Skoda",
    "price": 9000
  },
...

“但它在大括号之间的逗号上有错误”-因为它是无效的JSON。无论您从何处获得该字符串,他们都应该修复代码以输出正确格式的JSON。请访问,并阅读什么是有效的JSON。您的JSON数据不正确。还有一个JSON验证器。你很幸运得到了一个很好的回答,但这并不总是可能的。“逗号分隔的JSON对象”-。@Andreas同样挑剔,我指的是JSON规范中描述为
object
的语法结构。这,你知道:
[
  {
    "_id": {
      "$oid": "5d96f2d3db90fded9f3fa2d1"
    },
    "name": "Audi",
    "price": 52642
  },
  {
    "_id": {
      "$oid": "5d96f2dedb90fded9f3fa2d2"
    },
    "name": "Mercedes",
    "price": 57127
  },
  {
    "_id": {
      "$oid": "5d96f304db90fded9f3fa2d3"
    },
    "name": "Skoda",
    "price": 9000
  },
...