使用正则表达式向所有 json 个对象添加属性
Add attributes to all json objects with a regex
我有一个 json 数组:
{
"Tabelle1": [
{
"Nr.": "1",
"Firma": "Alba Reisen/Versicherungen/Darlehen H. Kajtazi",
"Rechtsform": "EIU",
"Sitz": "Rapperswil-Jona",
"Kanton": "SG",
"UID": "CHE‑101.868.757"
},
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121"
},
{
"Nr.": "3",
"Firma": "Bluamawerkstatt zur Linde Marianne Bislin-Lieberherr",
"Rechtsform": "EIU",
"Sitz": "Pfäfers",
"Kanton": "SG",
"UID": "CHE‑217.602.289"
},
]
}
我想为每个对象添加一个属性和一个值,如下所示:
"X": ""
最终对象将如下所示:
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121",
"X":""
},
我设法用这个正则表达式过滤了 json 的最后一个属性,但我认为我离解决方案还很远:
"UID\s*([^\n\r]*)
我正在使用 VSCode 的搜索和替换功能 支持正则表达式过滤。
我认为您在此处使用正则表达式会使事情变得复杂。您可以使用任何编程语言 轻松地将具有""
的X
元素附加到Tabelle1 中的每个对象。我在这里使用 Javascript 进行演示。如果您仍然需要正则表达式,那么您可以尝试 this 一个。
const json = {
"Tabelle1": [{
"Nr.": "1",
"Firma": "Alba Reisen/Versicherungen/Darlehen H. Kajtazi",
"Rechtsform": "EIU",
"Sitz": "Rapperswil-Jona",
"Kanton": "SG",
"UID": "CHE‑101.868.757"
},
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121"
},
{
"Nr.": "3",
"Firma": "Bluamawerkstatt zur Linde Marianne Bislin-Lieberherr",
"Rechtsform": "EIU",
"Sitz": "Pfäfers",
"Kanton": "SG",
"UID": "CHE‑217.602.289"
},
]
}
json['Tabelle1'].forEach(e => e['X'] = "");
console.log(json);
如果你使用正则表达式,你应该使用捕获组。
^(\s+)("UID".*$)
(\s+)
:Group1:匹配前导空格
("UID".*$)
: Group2: 匹配 UID
. 的内容
之后,您使用以下替换 (visual-studio-code)。
\n"X": ""
- Select
"UID"
- 使用菜单 Selection > Select 所有事件
- 按键结束逗号回车
- 类型
"X": ""
我有一个 json 数组:
{
"Tabelle1": [
{
"Nr.": "1",
"Firma": "Alba Reisen/Versicherungen/Darlehen H. Kajtazi",
"Rechtsform": "EIU",
"Sitz": "Rapperswil-Jona",
"Kanton": "SG",
"UID": "CHE‑101.868.757"
},
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121"
},
{
"Nr.": "3",
"Firma": "Bluamawerkstatt zur Linde Marianne Bislin-Lieberherr",
"Rechtsform": "EIU",
"Sitz": "Pfäfers",
"Kanton": "SG",
"UID": "CHE‑217.602.289"
},
]
}
我想为每个对象添加一个属性和一个值,如下所示:
"X": ""
最终对象将如下所示:
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121",
"X":""
},
我设法用这个正则表达式过滤了 json 的最后一个属性,但我认为我离解决方案还很远:
"UID\s*([^\n\r]*)
我正在使用 VSCode 的搜索和替换功能 支持正则表达式过滤。
我认为您在此处使用正则表达式会使事情变得复杂。您可以使用任何编程语言 轻松地将具有""
的X
元素附加到Tabelle1 中的每个对象。我在这里使用 Javascript 进行演示。如果您仍然需要正则表达式,那么您可以尝试 this 一个。
const json = {
"Tabelle1": [{
"Nr.": "1",
"Firma": "Alba Reisen/Versicherungen/Darlehen H. Kajtazi",
"Rechtsform": "EIU",
"Sitz": "Rapperswil-Jona",
"Kanton": "SG",
"UID": "CHE‑101.868.757"
},
{
"Nr.": "2",
"Firma": "Alybaba - Schischa Laden, Aly",
"Rechtsform": "EIU",
"Sitz": "Wil (SG)",
"Kanton": "SG",
"UID": "CHE‑102.012.121"
},
{
"Nr.": "3",
"Firma": "Bluamawerkstatt zur Linde Marianne Bislin-Lieberherr",
"Rechtsform": "EIU",
"Sitz": "Pfäfers",
"Kanton": "SG",
"UID": "CHE‑217.602.289"
},
]
}
json['Tabelle1'].forEach(e => e['X'] = "");
console.log(json);
如果你使用正则表达式,你应该使用捕获组。
^(\s+)("UID".*$)
(\s+)
:Group1:匹配前导空格("UID".*$)
: Group2: 匹配UID
. 的内容
之后,您使用以下替换 (visual-studio-code)。
\n"X": ""
- Select
"UID"
- 使用菜单 Selection > Select 所有事件
- 按键结束逗号回车
- 类型
"X": ""