gpt4 book ai didi

arrays - 在Powershell中将JSON数组对象转换为String

转载 作者:行者123 更新时间:2023-12-03 01:30:50 25 4
gpt4 key购买 nike

我正在使用如下所示的JSON:

[
{
"Ack": "no",
"Rule": "dont",
"Tags": [
"server"
],
"Type": "blue"
},

{
"Ack": "no1",
"Rule": "knock",
"Tags": [
"yellow",
"green"
],
"Type": "multiplecolour"
}

]

我需要将Tags数组转换为逗号分隔的字符串[并用JSON文件中的转换后的字符串替换该数组]。我已经尝试过从JSON转换,但是我正在努力以一种干净的方式将数组转换为字符串,但仍在学习PS,所以请多多包涵。

最佳答案

ConvertFrom-Json可能适合您。这是将JSON字符串转换为PowerShell对象数组,然后使用逗号定界符将每个对象的标签连接在一起的示例:

$json = @"
[
{
"Ack": "no",
"Rule": "dont",
"Tags": [
"server"
],
"Type": "blue"
},
{
"Ack": "no1",
"Rule": "knock",
"Tags": [
"yellow",
"green"
],
"Type": "multiplecolour"
}
]
"@

(ConvertFrom-Json -InputObject $json) `
| ForEach-Object { $_.Tags = ($_.Tags -join ","); $_ } `
| ConvertTo-Json `
| Out-File -FilePath new.json

编辑:注意(如@ mklement0所指出), ConvertFrom-Json周围的括号是通过管道将 force the enumeration of the results as an array对象所必需的。

关于arrays - 在Powershell中将JSON数组对象转换为String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58347517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com