You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中打印JSON数组的第一个元素?

如何正确打印JSON数组的第一个元素?

你遇到的问题核心是:ConvertTo-Json输出的是单个字符串类型的JSON内容,而非PowerShell的对象数组。所以$jsonData[0]只是取这个字符串的第一个字符(也就是[),而非JSON数组里的第一个元素。

下面是两种可行的解决方法:

方法1:转换JSON前先提取第一个元素(推荐)

直接在将对象数组转JSON之前,先取出第一个元素再单独转JSON,避免多余的转换操作:

$csvData = Import-Csv -Path "addresses.csv"

$newCsvData  = foreach($row in $csvData){
    [PSCustomObject]@{
        name  =  $row.name
        lastname  =  $row.lastname
    }
 }

# 提取第一个元素并转换为JSON
$firstItemJson = $newCsvData[0] | ConvertTo-Json

Write-Host $firstItemJson

执行后会输出第一个元素的JSON格式:

{
    "name":  "John",
    "lastname":  "Doe"
}

方法2:将JSON字符串转回对象后提取元素

如果已经生成了完整的JSON字符串,可以先把它转回PowerShell对象数组,再提取第一个元素:

$csvData = Import-Csv -Path "addresses.csv"

$newCsvData  = foreach($row in $csvData){
    [PSCustomObject]@{
        name  =  $row.name
        lastname  =  $row.lastname
    }
 }

$jsonData = $newCsvData | ConvertTo-Json

# 将JSON字符串转回对象数组,取第一个元素
$firstItem = ($jsonData | ConvertFrom-Json)[0]

# 若需要输出JSON格式,再转一次
Write-Host ($firstItem | ConvertTo-Json)

内容的提问来源于stack exchange,提问作者Matias Salimbene

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 13:27:11