powershell - 如何在 Powershell 中导出具有数组列表的对象
问题描述
我正在尝试将对象中的列表导出到 CSV,但我的输出是:
高清 Mdo Montagem Eixo Traseiro,"System.Collections.ArrayList"
对象是:
Class Departamento
{
[String]$nome
[Object]$pessoas
}
因此,第一个是字符串,第二个是 ArrayList(Object)。我想知道如何导出我的arrayList,它有我部门所有人的名字。谢谢。
解决方案
您应该将对象 [Object]$pessoas 转换为字符串或我们的 XML 或 JSON 格式,而不是 CSV。因为 CSV 无法按您的意愿显示对象(CSV 只有“一级”)。
如果您想使用 JSON:
#Export
$obj | ConvertTo-Json -Depth 99 | Out-File -FilePath C:\Temp\test.json #-Depth 99 <-- Needed for the ArrayList(Object)
#Import
Get-Content -Path C:\Temp\test.json | ConvertFrom-Json
如果您必须使用 csv 格式,您可以这样做(使用 -join 将列表转换为字符串):
$obj | Select-Object -Property nome, @{n = 'pessoas'; e = {$_.pessoas -join ';'}} | Export-Csv -Path C:\Temp\test.csv
推荐阅读
- micronaut - 接收一些对象并将它们转换为另一个对象的自定义 TypeConverter
- node.js - ReferenceError: bot 未在 discord bot 中定义
- java - Firebase SDK - 是否会以与触发 setValue 相同的顺序触发 onchildchanged?
- python - 列表python中的相对大小
- ruby-on-rails - Rails 从模型关联排序
- java - NetBeans IDE 中的 JavaCal 中是否已经定义了方法操作事件?
- c - 用于返回引用计数对象的 SAL 注释
- java - 如何在 Java 上定义白名单方法以能够返回白名单的特定“类型”?
- python - 关于熊猫代码的pyspark meandays计算
- regex - 如何从对象数组中投影所有嵌套文档?