【发布时间】:2021-11-16 05:32:26
【问题描述】:
我使用以下代码在 powershell 中导入了一个 csv 文件:
import-csv "input.csv" | ConvertTo-Json | Add-Content -Path "output.json"
我的输出:
{
"users": [
{
"firstName": "name1",
"lastName": "lastname1",
}
{
"firstName": "name2",
"lastName": "lastname2",
}
}
csv 文件如下所示:
firstname,lastname
name1,lastname1
name2,lastname2
但我需要在子内容中添加一个名为“角色”的额外列(我不知道它叫什么)。它应该在姓氏之后,但仍然是用户对象的一部分,并且在每个条目中。
需要这个输出
{
"users": [
{
"firstName": "name1",
"lastName": "lastname1"
"roles:" ["role1", "role2"]
}
{
"firstName": "name2",
"lastName": "lastname2",
"roles:" ["role1", "role2"]
}
}
新输出
"Roles": {
"value": [
"Role1",
"Role2"
],
"Count": 2
}
【问题讨论】:
-
转换成JSON之前为什么不加呢?您从哪里获得新列的值?
-
虽然在 csv 数据中添加一个额外的列并不难,但 PowerShell 不知道在其中添加什么来指定每个用户的实际角色。如果你只是添加它会更简单到 CSV
-
额外列的值只是静态数据。我的问题是如何像多维数组一样添加这种方括号。如果可以直接在csv文件中添加数据也可以。
-
你的 JSON 语法输出错误
-
生成该 json 的 csv 在哪里?它是什么样子的?因为您显示的 CSV 不会产生您显示的输出。
标签: json powershell object