这是我的csv:
"name,data
Play,http://{gho}.domain.com/
BDomain,domain.com
Charts,2
Compress,0
CompressJ,0" | ConvertFrom-Csv | ConvertTo-Json
给我:[
{
"name": "Play",
"data": "http://{gho}.domain.com/"
},
{
"name": "BDomain",
"data": "domain.com"
},
{
"name": "Charts",
"data": "2"
},
{
"name": "Compress",
"data": "0"
},
{
"name": "CompressJ",
"data": "0"
}
]
现在,我想从json中获取该csv,但是|的链ConvertFrom-Json | ConvertTo-CSV无法正常工作,我很好奇为什么不呢?
最佳答案
为了使Steven's helpful answer具有简洁的摘要和跨版本的观点,请执行以下操作:
| ConvertFrom-Json | ConvertTo-Csv
附加到您的代码中可以按原样进行。ConvertFrom-Json
的输出以使ConvertTo-Csv
正常工作,因为与PowerShell的通常行为相反,ConvertFrom-Json
会作为一个整体输出JSON数组管道的单个对象。(...)
,即grouping operator。# Works in all PowerShell versions, but in v7+ the (...) is no longer necessary.
(
"name,data
Play,http://{gho}.domain.com/
BDomain,domain.com
Charts,2
Compress,0
CompressJ,0" | ConvertFrom-Csv | ConvertTo-Json |
ConvertFrom-Json
) | ConvertTo-Csv -NoTypeInformation
这样产生:"name","data"
"Play","http://{gho}.domain.com/"
"BDomain","domain.com"
"Charts","2"
"Compress","0"
"CompressJ","0"
关于json - 在Powershell中从JSON转换为CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64014087/