【问题标题】:Remove spaces in Json keys [duplicate]删除 Json 键中的空格 [重复]
【发布时间】:2017-10-27 12:51:49
【问题描述】:

我的 json 格式如下

[{
    "Id": "ALFKI",
    "Contact Name": "Maria Anders",
    "Contact Title": "Sales Representative",
    "City": "Berlin",
    "Slider": 10
}, {
    "Id": "ANATR",
    "Contact Name": "Ana Trujillo",
    "Contact Title": "Owner",
    "City": "México D.F.",
    "Slider": 5
}]

我想要的 Json

[{
    "Id": "ALFKI",
    "ContactName": "Maria Anders",
    "ContactTitle": "Sales Representative",
    "City": "Berlin",
    "Slider": 10
}, {
    "Id": "ANATR",
    "ContactName": "Ana Trujillo",
    "ContactTitle": "Owner",
    "City": "México D.F.",
    "Slider": 5
}]

剑道网格不接受带空格的键名

【问题讨论】:

  • 你有什么问题?
  • 如想要的Json所示。键中没有空格
  • 请展示您的尝试,然后我们可以帮助您修复您的代码。
  • 您已经告诉我们问题所在,但这不是代码编写服务。您至少应该自己尝试一下。
  • 为什么不在源上正确创建json

标签: javascript ecmascript-6 lodash


【解决方案1】:

您可以使用JSON.stringify()JSON.parse()String.prototype.replace()RegExp /\s(?=\w+":)/g 来匹配空格字符后接一个或多个单词字符后接" 后接:

var arr = [{
    "Id": "ALFKI",
    "Contact Name": "Maria Anders",
    "Contact Title": "Sales Representative",
    "City": "Berlin",
    "Slider": 10
}, {
    "Id": "ANATR",
    "Contact Name": "Ana Trujillo",
    "Contact Title": "Owner",
    "City": "México D.F.",
    "Slider": 5
}];

arr = JSON.parse(JSON.stringify(arr).replace(/\s(?=\w+":)/g, ""));

console.log(arr);

【讨论】:

  • 提醒一下,它仅适用于 JSON。任何以函数或 Date 对象为值的对象都不起作用。
猜你喜欢
  • 2018-06-29
  • 2021-09-03
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-17
相关资源
最近更新 更多