gpt4 book ai didi

json - ConvertFrom-JSON 到对象

转载 作者:行者123 更新时间:2023-12-01 09:16:42 30 4
gpt4 key购买 nike

看起来我期望的工作方式并没有实现。我想要返回多个对象,但它似乎只返回一个。我无法做到这一点。

一个非常简单的 JSON 文件:

{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"value": "sa01"
},
"virtualNetworkName": {
"value": "nvn01"
}
}
}

我想将参数及其值动态添加到一个漂亮的 pscustomobject 中(包含上述数据,看起来如下所示):

ParameterName      | Value
===========================
storageAccountName | sa01
virtualNetworkName | nvn01

我不明白的是为什么以下返回一个对象:

$TemplateParametersFile = "C:\Temp\deploy-Project-Platform.parameters.json"
$content = Get-Content $TemplateParametersFile -Raw

$JsonParameters = ConvertFrom-Json -InputObject $content
$JsonParameters.parameters | Measure-Object

在写这篇文章时,我最终找到了一个符合我想要的解决方案,我将其发布在答案部分。请随意教导我并提高...

最佳答案

我会做一些不同的事情,跳过哈希表,并使用隐藏的 PSObject 属性。因此,在将 JSON 数据存储在 $content 中之后,我会执行以下操作:

#Convert JSON file to an object
$JsonParameters = ConvertFrom-Json -InputObject $content

#Create new PSObject with no properties
$oData = New-Object PSObject

#Loop through properties of the $JsonParameters.parameters object, and add them to the new blank object
$JsonParameters.parameters.psobject.Properties.Name |
ForEach{
Add-Member -InputObject $oData -NotePropertyName $_ -NotePropertyValue $JsonParameters.parameters.$_.Value
}

$oData

顺便说一句,转换您发布的 JSON 时遇到问题,我必须在两个值周围添加引号,例如 "value": "sa01"

关于json - ConvertFrom-JSON 到对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42539666/

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