嵌套数组和 ConvertTo-Json

2024-03-07

要使用 REST API,我必须传递一个如下所示的 JSON 对象:

{ "series" : 
  [{  
      "metric": "custom.powershell.gauge",
      "points":[[1434684739, 1000]]
    }
  ]
}

注意这里的嵌套数组。我无法重现这个。这是我的代码:

[int][double]$unixtime=get-date ( (get-date).ToUniversalTime() ) -UFormat %s
$obj=@{}
$series=@{}
$array=@()
$points=@()
$value=get-random -Minimum 0 -Maximum 100


$series.add("metric","custom.powershell.gauge")
$points=@(@($unixtime, $value))
$series.add("points",$points)
$obj.Add("series",@($series))

$json=$obj | ConvertTo-Json -Depth 30 -Compress
$json

这是输出:

{"series":[{"points":[1434685292,95],"metric":"custom.powershell.gauge"}]}

我已经尝试了很多方法,我无法让两个数组嵌套,它总是最终看起来像一个数组。

同样,有人来解释一下:

> $a=(1,2)
> $a
1
2
> $a | ConvertTo-Json
[
    1,
    2
]
> $b=($a,$a)
> $b
1
2
1
2
> $b | ConvertTo-Json
[
    {
        "value":  [
                      1,
                      2
                  ],
        "Count":  2
    },
    {
        "value":  [
                      1,
                      2
                  ],
        "Count":  2
    }
]

这些在哪里value and Count来自(哪里?

感谢您的帮助。


解释是(1,2),(3,4) 是数组的数组,但是 Powershell 用管道分割了第一级|,并且您没有为这些数组指定名称,因此序列化器提供它。首先尝试一下:

# First build your array of array
$z = (1,2),(3,4)
# convert it to JSON using the ,
,$z | ConvertTo-Json -Depth 5 -Compress
[psobject]@{"points"=$z} | ConvertTo-Json -Depth 5 -Compress

它给出了第一步:

{"value":[[1,2],[3,4]],"Count":2}
{"points":[[1,2],[3,4]]}

现在我提出的解决方案 :

# First build your array of array
$z = (1,2),(3,4)

# Then build a PSCustom object
$a = [pscustomobject]@{"series" = ,@{"metric"="custom.powershell.gauge"; "points"=$z}}

# At the end convert it to JSON
# don't forget the **Depth** parameter (use **Compress** to retreive one line like above)
$a | ConvertTo-Json -Depth 5

对我来说,它提供了接近您需要的东西:

{
    "series":  [
                   {
                       "points":  [
                                      [
                                          1,
                                          2
                                      ],
                                      [
                                          3,
                                          4
                                      ]
                                  ],
                       "metric":  "custom.powershell.gauge"
                   }
               ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套数组和 ConvertTo-Json 的相关文章

随机推荐

  • laravel5: chdir(): 没有这样的文件或目录 (errno 2)

    当我将 Laravel 5 上的网站构建部署到 VPS 服务器时遇到问题 但在本地计算机上它工作正常 我的页面是http easyway vn http easyway vn 当前页面显示空白并出现错误 无法加载资源 服务器响应状态为 50
  • 我的脚本不会进入下一页进行抓取

    我编写了一个用于网络抓取的代码 除了下一页活动之外 一切都很好 当我运行我的代码时scrape数据只是来自网站scraping第一页不会向前移动以抓取其他页面数据 实际上 我是使用 python 进行网络抓取的新手 所以请指导我 你能修复我
  • 修改Django中间件中的地址

    我不知道是否可行 但我想使用中间件在 URL 末尾添加一些参数 modyf 请求的 URL 后可以不重定向来完成吗 IE 用户点击 some link 中间件将其重写为 some link par1 1 par2 2 其他方法是修改响应并替
  • CSS 负 z-index:这是什么意思?

    如果我向元素的 z index 属性添加负整数值 根据标准 预期效果是什么 我搜索了答案 但只找到了这个 https developer mozilla org en US docs Web CSS z index https develo
  • 我在命令面板中没有看到 hello world 命令

    So the tutorial https code visualstudio com api get started your first extension开发 Visual Studio 代码扩展说要打F5然后是命令面板 我应该在其中
  • Android getColumName 和 getColumnIndex

    我是一名 Android 新手 我的光标有问题 我无法使用以下方式访问数据 cursor get cursor getColumnIndex columnName 我尝试了以下代码来测试是否有错误 while cursor moveToNe
  • 一个模型可以“属于”任一/或多个模型吗?

    抱歉 如果这是一个有点菜鸟的问题 但希望澄清我对此的想法 我有一个模型 它可以属于一个模型 也可以属于另一个模型 例如 假设我有一个团队模型和一个成员模型 这两个模型都可以有一个 BankAccount class Team has man
  • 从 firebase 检索数据返回 NULL

    当我调用listPost 时 它将返回NULL 我想它不会等待侦听器从 firebase 获取帖子 在返回 arrayPost 之前 如何等待从 firebase 获取帖子 public Post listPost ArrayList
  • 用于部署的语言/堆栈[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在进行相当密集的重写 并可以选择以下选项 JSP Java 运行在 Tomcat 上 PHP 运行在 Apache 下 Ruby 我不确定在
  • 为什么Android虚拟设备太慢?

    我刚刚从 android 开发者网站下载了 adt bundle 来尝试一下 当我点击 运行 按钮时 问题就开始了 Android虚拟设备或 avd 速度非常慢 我有一台相当不错的机器 核心 i7 和 16go 内存 他们不知道吗 我的意思
  • 如何防止模板类被多次派生?

    我有以下模板类 template
  • 使用 Pig 中的elephantbird 进行 Json 解析

    我无法在 Pig 中解析以下数据 这是 Twitter API 在获取某个用户的所有推文后返回的内容 源数据 我删除了一些数字 以免无意中侵犯任何人的隐私 created at Sat Nov 01 23 15 45 0000 2014 i
  • Spring第一次请求非常慢

    我在 Spring Boot 中有应用程序 使用嵌入的tomcat初始化Spring Boot后 第一次响应非常慢 我该如何修复它 spring boot 有预热命令 模式吗 我也在考虑与数据库的连接 我想知道连接数据库 可能 spring
  • Winforms:不是有效的 Win32 应用程序

    我使用 VS2012 创建了一个简单的 Windows 窗体应用程序 并尝试将其安装到 XP 计算机上 不幸的是我收到以下错误消息 setup exe 不是有效的 Win32 应用程序 不可否认 我确实使用了 net 4 5 框架 这在 X
  • 使用 Jetpack Compose 上的 Spacer 填充剩余空间

    我想我可能会遗漏一些东西 有没有办法在 Compose Beta01 中实现 填充其余空间 而不需要额外的Box包裹间隔物的元素 Spacer不幸的是 没有重量调节器 Column modifier Modifier height 120
  • 如何有条件地导入 ES6 模块?

    我需要做类似的事情 if condition import something from something if something something doStuff 上面的代码无法编译 它抛出SyntaxError import an
  • 动态输入值不会使用 codeigniter 保存在数据库中

    I want letting user add dynamic inputs and save those values in the database But with this code only one value save to t
  • 通过字符串生成 EF orderby 表达式[重复]

    这个问题在这里已经有答案了 我想通过字符串参数生成表达式 一些代码如下 private Expression
  • Graphviz - 如何使标签中的文本左对齐?

    我正在使用 graphviz 来可视化我正在解析的语言的 AST 我想包含源代码 作为标签 但 graphviz 对齐标签内的文本 这会扰乱我的缩进 并且代码对缩进敏感 这是问题的示例 第二行代码不应缩进 这是生成的 dot 文件的相关部分
  • 嵌套数组和 ConvertTo-Json

    要使用 REST API 我必须传递一个如下所示的 JSON 对象 series metric custom powershell gauge points 1434684739 1000 注意这里的嵌套数组 我无法重现这个 这是我的代码