首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个数组的PowerShell ConvertTo-JSON

具有多个数组的PowerShell ConvertTo-JSON
EN

Stack Overflow用户
提问于 2019-11-20 20:40:00
回答 1查看 913关注 0票数 2

我正在尝试将数据转换为JSON作为REST API的输入。我面临的挑战是,数据应该由多个深度组成(因为没有更好的词语)。我现在使用的代码是:

代码语言:javascript
复制
(@{name = "Contoso"; all_assets = "false"; all_users="false"; rules= @{type="fqdn"; operator="match"; terms=@("contoso") } }| ConvertTo-Json)

现在的输出是:

代码语言:javascript
复制
{
    "all_users":  "false",
    "name":  "Contoso",
    "all_assets":  "false",
    "rules":  {
                  "operator":  "match",
                  "terms":  [
                                "contoso"
                            ],
                  "type":  "fqdn"
              }
}

REST-Api抱怨数据包含无效字符。查看输出,"rules:“部分包含{},而不是。我试过各种花招,但我似乎想不出这一招。

有人知道我哪里做错了吗?

EN

回答 1

Stack Overflow用户

发布于 2019-11-21 02:29:14

不管它值多少钱...

不是Unexpected ConvertTo-Json results? Answer: it has a default -Depth of 2问题的答案,而是通常如何使用ConvertTo-Expression cmdlet从Json文件构建PowerShell表达式:

代码语言:javascript
复制
'{
    "all_users":  "false",
    "name":  "Contoso",
    "all_assets":  "false",
    "rules":  [
                  {
                      "operator":  "match",
                      "terms":  [
                                    "contoso"
                                ],
                      "type":  "fqdn"
                  }
              ]
}' | ConvertFrom-Json | ConvertTo-Expression

[pscustomobject]@{
        'all_users' = 'false'
        'name' = 'Contoso'
        'all_assets' = 'false'
        'rules' = ,[pscustomobject]@{
                'operator' = 'match'
                'terms' = ,'contoso'
                'type' = 'fqdn'
        }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58954584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档