json - 如何将Powershell中的对象拆分为正确的JSON格式

标签 json powershell hashtable

我有一个返回的对象

Name         Value
----         -----
field_1      abc
field_2      123

我正在使用此函数创建对象:
function CreateParamFileObject($schema,$contentVersion,$parameters)
{

    $obj = New-Object System.Object
    $obj |  Add-Member -MemberType NoteProperty -Name '$schema' -Value $schema
    $obj |  Add-Member -MemberType NoteProperty -Name "contentVersion" -Value $contentVersion   
    $obj |  Add-Member -MemberType NoteProperty -Name "parameters" -Value $parameters

    #foreach ($key in $obj.parameters.Keys)
    #{

    #}

   return,$obj 

“参数”参数以哈希表形式出现,如下所示:
$paramsphase1 = @{
                field_1 = "abc";
                field_2 =(123)

当我将其转换为JSON时,它看起来像:
"parameters":  {
                       "field_1":  "abc",
                       "field_2":  "123",
               }

我希望它看起来像这样:
"parameters": {
        "field_1": {
            "value": "abc"
        },
        "field_2": {
            "value": 123
        },

在Powershell中是否有更简单的方法可以做到这一点?我已经尝试了一些功能,但无法获得正确的结果。

最佳答案

这是进行转换的代码片段。

# object
$d1 = @{}
$d1.parameters = @{}
$d1.parameters.field1 = 'abc'
$d1.parameters.field2 = '123'

$d1 | ConvertTo-Json

# conversion
$d2 = @{}
$d2.parameters = @{}
foreach ($k1 in $d1.parameters.Keys)
{
    $d2.parameters.$k1 = @{}    
    $d2.parameters.$k1.value = $d1.parameters.$k1
}

$d2 | ConvertTo-Json

关于json - 如何将Powershell中的对象拆分为正确的JSON格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42424664/

相关文章:

jQuery UI 自动完成与从 Rails 生成的 JSON 数据源 - 不工作

powershell - 如何使用带有参数的 validatepattern 来使用 try/catch?

Powershell在远程计算机上使用命令行参数执行远程exe

javascript - 从 websocket 过滤 json 对象/值并打印到控制台日志

java - Json 到 avro 的转换

git - 将 git 命令记录到 Powershell 脚本中的奇怪差异

c++ - 生命游戏哈希表 .h 文件模板问题

c# 当从哈希表中删除元素时,哈希表如何缩小?

c - 为什么我的变量值会随机变化?

database - Worklight Server 是否支持存储 JSON 文件?