PowerShell 的嵌套数据类型输出

2024-04-22

我正在尝试从某些输入创建嵌套数据结构并最终将其转换为 JSON,但一旦它变得太深,我就会遇到麻烦。

该结构将是一个哈希数组,其中一项是另一个哈希数组。

这设置了两个哈希数组$baz1 and $baz2

PS D:\> $baz1 = @(@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})
PS D:\> $baz2 = @(@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})

正如你所看到的,一切都在板上:

PS D:\> $baz1

Name                           Value
----                           -----
bar                            bar1
foo                            foo1
bar                            bar2
foo                            foo2
bar                            bar3
foo                            foo3


PS D:\> $baz1|ConvertTo-Json
[
    {
        "bar":  "bar1",
        "foo":  "foo1"
    },
    {
        "bar":  "bar2",
        "foo":  "foo2"
    },
    {
        "bar":  "bar3",
        "foo":  "foo3"
    }
]
PS D:\>

但是当我将数组添加到$fuz一切都呈梨形:

PS D:\> $fuz = @(@{foo="bar"; bash=$baz1};@{foo="beep";bash=$baz2})
PS D:\> $fuz

Name                           Value
----                           -----
foo                            bar
bash                           {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
foo                            beep
bash                           {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}


PS D:\> $fuz|ConvertTo-Json
[
    {
        "foo":  "bar",
        "bash":  [
                     "System.Collections.Hashtable",
                     "System.Collections.Hashtable",
                     "System.Collections.Hashtable"
                 ]
    },
    {
        "foo":  "beep",
        "bash":  [
                     "System.Collections.Hashtable",
                     "System.Collections.Hashtable",
                     "System.Collections.Hashtable"
                 ]
    }
]

即使没有$baz1 step

PS D:\> @(@{foo="bar"; bash=@(@{foo="foo1"; bar="bar1"};@{foo="foo2";bar="bar2"};@{foo="foo3";bar="bar3"})};@{foo="beep";bash=$baz2})

Name                           Value
----                           -----
foo                            bar
bash                           {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}
foo                            beep
bash                           {System.Collections.Hashtable, System.Collections.Hashtable, System.Collections.Hashtable}


PS D:\>

真的很感谢这里的一些帮助!


Use the -Depth上的参数ConvertTo-Json用于扩展子属性值的 cmdlet。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PowerShell 的嵌套数据类型输出 的相关文章

随机推荐

  • 使用Python的Requests模块登录ASP网站

    我试图从我的学校页面上抓取一些信息 但我很难通过登录 我知道有类似的线程 我花了一整天的时间阅读 但无法使其发挥作用 这是我使用的程序 用户名和密码已更改 import requests payload ctl00 cphmain Logi
  • 按值对 Javascript 对象进行排序

    在我的 Javascript 应用程序中 我有一个对象 我需要能够通过内部对象中的值对数组进行排序 例如 a timestamp xxxxxx other yyyyyy b timestamp xxxxxx other yyyyyy c t
  • 如何检查数组的某一项是否具有真值

    在对象数组中 如何检查任何数组项是否具有 true 属性 我有一个对象数组 我需要检查数组项中是否有一个属性 其值确实是 const arr name Tony test false name Jack test false name Ti
  • 在单线程中的 List.Add 过程中,什么可能导致“目标数组不够长”?

    我有一个要添加到嵌套 foreach 循环中的对象列表 该操作是同步的 或者也许我并不像我认为的那样理解 lambda 并且是单线程的 并且列表并不是不合理的大 我完全不知道可能导致此异常的原因 public string Promotio
  • 从覆盖率报告中删除自动生成的异常代码

    让我们从一个最小的工作示例开始 主要 cpp include
  • C# 在枚举中使用数字

    这是一个有效的枚举 public enum myEnum a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 0xff 但这不是 public enum myEnum 1a 1 2a 2 3a 3 有没有办法在枚举中使用数字 我已经
  • 在 Ember.js 中,为什么绑定到数组在 {{#each}} 之外不起作用?

    在下面的代码中 我渲染了 3 个视图 第二个和第三个视图渲染App controller a 单击第一个视图会发生变化App controller a 单击时 第三个视图会更新其内容 第二个视图不更新其内容 为什么 我认为第二个视图绑定到数
  • open() 尝试打开管道进行读取时会阻塞

    我有两个进程 一个服务器和一个客户端 它们应该通过管道 C Linux 进行通信 服务器打开管道O RDONLY标志 以及客户端O WRONLY 然而 服务器阻塞在open函数 而客户端似乎运行成功 open函数返回成功 因此write功能
  • dplyr 就地突变[重复]

    这个问题在这里已经有答案了 这是我的例子 library dplyr a lt c 0 2 1 3 df test lt data frame a df test gt mutate a round a 0 它产生 a 1 0 2 1 但不
  • R传单和闪亮如何清除地图点击数据

    下面的例子摘自RStudio 教程 http rstudio github io leaflet shiny html传单上 我稍微修改了一下以适应我的问题 我有一张地图 这里是地震 我使用它在地图上绘制addCircleMarkers单击
  • NSLayoutConstraint 常量设置后不更新

    我有一个UIView具有相应的子类xib文件 在我的 xib 中我有一个NSLayoutConstraint我正在尝试为其设置动画的属性 我有一个animateIn方法 问题是只有 animateIn 方法有效 当我尝试再次更新常量时 它只
  • 正则表达式捕获第 n 个匹配项

    有没有办法使用正则表达式返回第 n 次出现 我确实搜索了论坛 只找到了超出正则表达式本身的解决方案 即需要编程语言的支持 例子 正则表达式 d d 3 d 2 Input thiscanbeanything 25 74thiscanbeso
  • RealityKit – 什么是 `steelBox` 实例加载?

    当您使用标准 Xcode 模板创建增强现实项目时 Xcode 会添加以下内容swift文件到您的项目 Experience swift GENERATED CONTENT DO NOT EDIT import Foundation impo
  • PHP - 以某种方式哈希对象,具有相同字段值的不同对象具有相同的哈希值

    我正在寻找一种方法来为 PHP 对象生成某种哈希值 通用解决方案 如果可能的话 可以使用所有分类的 内置的和自定义的 SplObjectStorage getHash 不是我正在寻找的 因为它会为给定类的每个实例生成不同的哈希值 为了描述这
  • Android 上带有 asynctask 的 Webview

    我想做的是进度对话框等待加载项目webview 我该怎么做dialog dismiss 事件取决于加载项目webview public class asynctask extends AsyncTask
  • 静态链接库时出现 glew 链接器错误

    我正在尝试在 Visual Studio 2012 中构建一个 opengl 项目 我想静态包含 glew 库 因此我从源代码构建它并将生成的 glew32sd lib 复制到我的 lib 目录 我将此 lib 路径提供给 Visual S
  • 有关 Jquery/Masonry 的帮助,小调整

    对于我的一生 我无法弄清楚到底发生了什么 我缺乏 Jquery 知识可能与此有关 看看这个 http jsfiddle net ryanjay fgNMJ http jsfiddle net ryanjay fgNMJ 加载页面时 每张照片
  • 我应该如何比较这些双打以获得所需的结果?

    我这里有一个简单的示例应用程序 我在其中进行乘法和加法double变量 然后将它们与预期结果进行比较 在这两种情况下 结果都等于预期结果 但当我进行比较时 它失败了 static void Main string args double a
  • 禁用 KeyGaurd 后无法重新启用它

    我写了下面的代码来切换KeyGaurd我的 Android 手机使用切换按钮 但我面临着一种奇怪的行为 它禁用keygaurd成功了但是 不重新启用 btnToggleLock setOnClickListener new OnClickL
  • PowerShell 的嵌套数据类型输出

    我正在尝试从某些输入创建嵌套数据结构并最终将其转换为 JSON 但一旦它变得太深 我就会遇到麻烦 该结构将是一个哈希数组 其中一项是另一个哈希数组 这设置了两个哈希数组 baz1 and baz2 PS D gt baz1 foo foo1