Javascript-如何遍历无效的 JSON

标签 javascript json

我有一个像这样的 JSON 数组

       {  
   "2070":{  
      "address_id":"2070",
      "firstname":"Simon",
      "lastname":"Hall",
      "company":"",
      "address_1":"",
      "address_2":"",
      "postcode":"44000",
      "city":"",
      "zone_id":"0",
      "zone":"",
      "zone_code":"",
      "country_id":"223",
      "country":"United States",
      "iso_code_2":"US",
      "iso_code_3":"USA",
      "address_format":"{firstname} {lastname} 
    {company} 
    {address_1} 
    {address_2} 
    {city}, {zone} {postcode} 
    {country}",
      "custom_field":false
   },
   "2071":{  
      "address_id":"2071",
      "firstname":"Simon",
      "lastname":"Hall",
      "company":"",
      "address_1":"TEST",
      "address_2":"",
      "postcode":"44000",
      "city":"New York",
      "zone_id":"3625",
      "zone":"Colorado",
      "zone_code":"CO",
      "country_id":"223",
      "country":"United States",
      "iso_code_2":"US",
      "iso_code_3":"USA",
      "address_format":"{firstname} {lastname} 
    {company} 
    {address_1} 
    {address_2} 
    {city}, {zone} {postcode} 
    {country}",
      "custom_field":false
   }
}

此 JSON 无效,但我以这种形式获取它,我无法解析它,因为它不是有效的 JSON,而且我无法从字符串中删除特殊字符。 如何从这个无效的 JSON 中提取特定索引的数据? 有什么方法可以遍历这个 JSON?

最佳答案

对于您提供的示例,您可以简单地从字符串中删除所有换行符,从而生成有效的 JSON。

我没测试过,大概是这样的:

var json = "your json";
json = json.replace(/(?:\r\n|\r|\n)/g, '');

修改自 https://stackoverflow.com/a/5664521/2911452

祝你好运。

更新

正如 Emissary 提到的,删除新行会导致数据丢失。因此,您可以将新行替换为“JSON 转义新行”。请参阅:https://stackoverflow.com/a/42073/2911452

关于Javascript-如何遍历无效的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36341418/

相关文章:

javascript - Electronjs 应用程序 async/await 不等待函数返回数据

javascript - 我在 JavaScript 中从表单重新提交数据时遇到问题

JavaScript 符号 : (function() { . .. } )();

javascript - Xtk : Can't display label map

javascript - Angular 驱动一个 从另一个中选择。第二次选择仅显示一个结果

javascript - 列表/数组是有效的 JSON 吗?

javascript - Node.js 未定义 :1 [SyntaxError: Unexpected end of input]

PHP/MYSQL 如何将多维数组存储在数据库 - json 或其他表中?

类型为 String 或 List<String> 时的 Java JSON 反序列化

ios - Swifty Json 解析