在 PowerShell 中使用另一个扩展 JSON

2024-01-26

是否有一些简单的方法可以将一个 JSON 文件扩展为另一个文件,并使用 PowerShell 将输出保存到另一个文件?目前我正在尝试编写一个允许我做到这一点的循环函数*,但也许有一个更简单的解决方案?

*迭代转换为 JSON 的属性PSCustomObject并在需要时更换它们(实际上检查下面我的答案 https://stackoverflow.com/a/29334164)

编辑:我需要做类似的事情jquery.扩展 http://api.jquery.com/jquery.extend/这样做,我的输入是:

{
    "name": "Some name",
    "value": 1,
    "config": {
        "debug": false,
        "output": "c:\\"
    }
}

And

{
    "value": 2,
    "config": {
        "debug": true
    },
    "debug": {
        "log": true
    }
}

我的输出应该是:

{
    "name": "Some name",
    "value": 2,
    "config": {
        "debug": true,
        "output": "c:\\"
    },
    "debug": {
        "log": true
    }
}

附:一般来说,我需要编写一个可以从批处理文件运行的脚本,并且不需要第 3 方库(仅限于 Windows 资源)。我尝试了 Cscript JavaScript,但当我发现解析 JSON 的唯一内置方法是评估它时,我决定不使用它。


经过大量的试验和错误,我设法编写了我的循环函数。

function ExtendJSON($base, $ext)
{
    $propNames = $($ext | Get-Member -MemberType *Property).Name
    foreach ($propName in $propNames) {
        if ($base.PSObject.Properties.Match($propName).Count) {
            if ($base.$propName.GetType().Name -eq "PSCustomObject")
            {
                $base.$propName = ExtendJSON $base.$propName $ext.$propName
            }
            else
            {
                $base.$propName = $ext.$propName
            }
        }
        else
        {
            $base | Add-Member -MemberType NoteProperty -Name $propName -Value $ext.$propName
        }
    }
    return $base
}
$file1 = (Get-Content $args[0]) -join "`n" | ConvertFrom-Json
$file2 = (Get-Content $args[1]) -join "`n" | ConvertFrom-Json
#Out-File produces incorrect encoding
#ExtendJSON $file1 $file2 | ConvertTo-Json | Out-File $args[2]

$output = ExtendJSON $file1 $file2 | ConvertTo-Json
#Save output as BOMless UTF8
[System.IO.File]::WriteAllLines($args[2], $output)

我不知道这是否是实现我的目标的最简单方法,但它确实完成了工作。这也可以作为如何组合\组合\合并两个的答案PSCustomObjects,似乎还没有人问过(也许我在这里打破了敞开的大门)。我几乎倾向于重写这个问题,但我的直觉告诉我可能有不同的方法使用 PowerShell 扩展 JSON,这不一定需要将我的 JSON 文件转换为PSCustomObject.

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

在 PowerShell 中使用另一个扩展 JSON 的相关文章

  • 使用 Powershell 远程安装 .msi

    我已经让他使用这个论坛上存在的代码来跟踪代码 cls computername Get Content C Users C201578 db Documents server txt sourcefile iceopsnas LNT Sof
  • ZF2 查看攻略

    我正在尝试执行以下操作 简单的控制器和动作 Action 应根据请求返回 2 种类型的响应 HTML in case of ordinary request text html JSON in case of ajax request ap
  • Django 管理员 - 登录

    我正在建造一个Django Web App 与 Django Suit 用于管理界面 已经让 Python 2 7 Django 1 10 和 MySQL 和谐通信并启动了一个项目 python m django admin startpr
  • 如何在 Swift 4 中传递 Encodable 或 Decodable 作为参数?

    我正在学习 JSONParsing 我遵循了教程 得到的是这样的 guard let url URL string http localhost test api public api register else return var re
  • 如何检查 Json 数组是否包含特定值?

    如何检查 Json 数组是否包含特定值 这是我加载数据的代码 dynamic d JObject Parse number 1000 str string array 1 2 3 4 5 6 Console WriteLine d numb
  • 有哪些基于对象的 shell?

    我打算写一个面向对象的shell 基于Python 我已经有很多想法了 但在实现它之前 我想通过一些现有的 shell 来激发我的灵感 我所说的面向对象的基本意思是 参数不仅仅是字符串数组 而且是对象数组 返回值也是一个对象 不仅有 std
  • 如何使用 RSpec 检查 JSON 响应?

    我的控制器中有以下代码 format json render json gt flashcard gt flashcard lesson gt lesson success gt true 在我的 RSpec 控制器测试中 我想验证特定场景
  • WebSocket如何压缩消息?

    JSON stringify 显然空间利用率不高 例如 123456789 123456789 占用 20 多个字节 而它可能只需要大约 5 个字节 websocket 在发送到流之前是否会压缩其 JSON WebSocket 的核心只是一
  • 如何通过 *.csproject 文件查找参考路径

    我想制作一个自动化的 powershell 脚本 报告项目的引用和引用路径 当 csproj 中的提示路径未填写时 我找不到获取引用路径的方法 这是一个快速解决方案 它抓住了每一个 csproj当前目录下的文件 并检查每个引用 对于从 GA
  • JSON 解析器从大型 JSON 文件中逐条读取

    我有一个巨大的 JSON 文件 1GB 它基本上是以下格式的对象数组 x y p q x1 y1 p1 q1 我想解析这个文件 这样所有的数据都不会加载到内存中 基本上我想获取例如 数组中的前 1000 个对象进行内存处理 然后将接下来的
  • 如何通过在原始文件名前添加序列号来重命名文件?

    伙计们 有谁知道我该怎么做 我试图通过在文件名的开头添加 1 2 3 等按数字顺序列出一些文件 同时保留文件的原始名称 这是我尝试过的代码 nr 1 Dir path C x y deneme Rename Item NewName 0 N
  • 如何从 API 转换一些原始数据并将其保存到变量中,以便我可以在 C# 中使用它们

    我正在做一个个人项目 它是一个 C 应用程序 使用 API 与一些 Web 服务进行通信 我终于用这几行得到了第一个原始数据 var client new RestClient https api abcd com token var re
  • 转换 JSON-JSON JOLT

    我对 JOLT 还很陌生 我需要将 JSON 文件转换为所需的架构 这是我的输入 PK 12345 FULL NAME Amit Prakash BIRTHDATE 1987 05 25 SEX M EMAIL email protecte
  • 应用程序内的 SQLite 文件版本兼容性

    我有一个 C NET 应用程序 一种复杂的计算应用程序 其中用户输入数据 处理后的信息使用 JSON 序列化和 EF 保存到 SQLite 文件中 需要时可以将其加载到我们的应用程序中 应用程序在开发过程中经历了很多变化 类也被修改 因此
  • PHP 中的 MongoDB - 如何将项目插入集合中的数组中?

    这必须很容易 但我似乎无法弄清楚 假设我有一个集合users这是集合中的第一项 id ObjectId 4d8653c027d02a6437bc89ca name Oscar Godson email email protected cdn
  • 使用 google Directions API 的地图视图绘制方向 - 解码折线

    我正在尝试使用 Google 方向 API 在我的地图视图上显示方向 但我在从 JSON 响应获取数据时遇到困难 我可以获得 级别 和 点 字符串 但无法弄清楚如何将它们解码为地图上的点 任何帮助将非常感激 我有一个类可以为您解码它们 添加
  • Instagram 粉丝计数 - 使用 jQuery / json 和 PHP

    经过几个小时的工作和一些帮助萨希尔 米塔尔我们已经成功使用 jQuery json 和 PHP 检索 Instagram 关注者计数 这是我们设法整理的内容 希望对其他想要获取 Instagram 信息的人有所帮助 我们的 jQuery I
  • 在 React 应用程序的 shell 脚本中设置环境变量

    我正在尝试在 powershell 和 bash 脚本中设置一些环境变量 并在 ReactJS 应用程序中读取它们 shell脚本很简单 env AUTHDOMAIN some domain com env AUTHCLIENTID bun
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 如何通过索引访问 JSON 对象中的字段

    我知道这不是最好的方法 但我别无选择 我必须通过索引访问 JSONObject 中的项目 访问对象的标准方法是只写this objectName or this objectName 我还找到了一种获取 json 对象内所有字段的方法 fo

随机推荐

  • Android 将图像保存到 SD 卡

    UPDATE Added
  • LINQ to SQL 的编译查询何时可以提高性能

    我指的是一篇文章 http www albahari com nutshell speedinguplinqtosql aspx其重点是加速 LINQ to SQL 查询 它提到的技术之一是 使用编译查询 并解释了如何使用它 我希望看到编译
  • Sharepoint 中文档库的全局自定义视图

    在Sharepoint文档库中 当我们创建新文档库时 默认视图是 所有文档 这个 我们可以制作一个自定义视图视图 gt 创建视图 位于文档库视图的右上角 我创建了一个新的标准视图并将其命名为 Chromed View 我编辑了它 然后我发现
  • 为什么 WebGL 比 Canvas 更快?

    如果两者都使用硬件加速 GPU 来执行代码 为什么 WebGL 比 Canvas 更快 我的意思是 我想知道为什么在低级别上 从代码到处理器的链条 会发生什么 Canvas WebGL 直接与驱动程序通信 然后与显卡通信 Canvas 速度
  • Android 联系人:查找键如何工作?

    在联系人顶部id 安卓也有LOOK UP https developer android com reference android provider ContactsContract ContactsColumns html LOOKUP
  • AttributeError:“str”对象没有属性“mean_validation_score”

    我的代码中出现此错误 AttributeError str object has no attribute mean validation score 我可以做什么来解决它 def report grid scores n top 3 to
  • 通过 hilt 中的不同具体类绑定接口?

    我用希尔特 我有一个接口 但我有两个实现它们的类 我需要在 ViewModels 中实现不同的 Bind 接口 请帮助我 创建自定义组件 或使用自定义范围 您提供的代码会有所帮助 但让我们假设 您的界面 interface YourInte
  • 如何将图标和文本段落放在一行中?

    我想将我的字体很棒的图标和文本段落放到一行中 我该如何修复此代码 div class date style display inline block i class fa fa user o i p style display inline
  • Maven 3 - 值得吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 是否有可能获得一个 .xib 窗口到选项卡式故事板

    我没有很长时间编写代码 Xcode 所以我有点垃圾 基本上我已经创建了一个 xib 并希望它出现在故事 板中 但我真的不知道从哪里开始 因为我有一个 xib 窗口具有UITableView and UIPickerView其中所有代码在 x
  • 将带标签的 pandas DF 写入 influxdb

    我有这个 3526 rows x 5 columns DF 其中col0是时间 col1 col3是标签和col4是我的价值 0 1 2 3 4 0 2017 09 29 22 41 51 10 2 95 5 C1195 LF470 SAR
  • JavaScript通过点击改变当前元素的颜色

    我有一个关于仅更改当前元素的颜色的问题 所以我想通过每次点击来更改当前元素的背景颜色 我的问题是 我无法重置前一个元素的背景颜色 例如 我这里有两种背景颜色 黄色 浅蓝色 如果我单击 旧 div 和 新 div 则两个 div 的背景颜色变
  • 将代码字符串转换为 hive 中的 desc

    这里我们有一个连字符的字符串 例如0 1 3 并且长度不固定 hive 中还有一个 DETAIL 表来解释每个代码的含义 DETAIL code desc 0 AAA 1 BBB 2 CCC 3 DDD 现在我们需要一个 hive 查询来将
  • 如何从 DIV 重定向并绕过子锚点 href

    请我需要您的帮助来完成下面的代码 我想向整个 DIV 添加 onclick 事件以重定向到 url 但我无法绕过 DIV 内子锚点中包含的 href 即 目标是点击图像或文本上的任意位置重定向到 google com div div a h
  • 未找到带有 SQLalchemy 数据库的 PostgreSQL

    我使用以下代码使用 sqlalchemy 创建 postgresql 数据库 engine create engine postgresql psycopg2 postgres localhost testData Base metadat
  • 对于自动返回类型,使用哪种更好: decltype 或 std::common_type<>::type (如果可能)?

    作为对我的回答最后一个问题 https stackoverflow com questions 11052842 error with using decltype in c11 creating opaque error message
  • 爱尔兰 Eircode 验证

    我想知道是否有验证爱尔兰 Eircode 格式的最佳实践 到目前为止 我在 JavaScript 中使用 REGEX 的最佳尝试是基于第 11 页上的官方规范here https www eircode ie docs default so
  • Apache Poi excel 删除空白行

    我有一个 3000 行的 Excel 文件 我删除了2000 使用ms excel应用程序 但是当我从代码中调用sheet getLastRowNum 时 它给了我3000 而不是1000 我如何删除空白行 我尝试了来自的代码here ht
  • IIS 7 Cors Ajax Soap 请求

    我遇到了一个无法解决的问题 我有一些 js jquery POST Soap 通过 PHP 请求代码在 Apache 上工作 启用了 Cors 来调用 HTTPS 并且工作正常 我已经迁移到 IIS7 设置响应标头 Access Contr
  • 在 PowerShell 中使用另一个扩展 JSON

    是否有一些简单的方法可以将一个 JSON 文件扩展为另一个文件 并使用 PowerShell 将输出保存到另一个文件 目前我正在尝试编写一个允许我做到这一点的循环函数 但也许有一个更简单的解决方案 迭代转换为 JSON 的属性PSCusto