当前位置: 首页 > 面试题库 >

如何使用PowerShell更新JSON文件

郝昊东
2023-03-14
问题内容

我有一个mytest.json如下的json文件,我想使用更新值PowerShell script

update.json

{
    "update": [
        {
            "Name": "test1",        
            "Version": "2.1"
        },
        {
            "Name": "test2",        
            "Version": "2.1"
        }   
    ]
}

我想编写一个PowerShell脚本,在其中if Name=="test1" I want to update Version= "3" 如何使用参数?


问题答案:

这是一种方法:

$a = Get-Content 'D:\temp\mytest.json' -raw | ConvertFrom-Json
$a.update | % {if($_.name -eq 'test1'){$_.version=3.0}}
$a | ConvertTo-Json -depth 32| set-content 'D:\temp\mytestBis.json'

根据@FLGMwt和@mikemaccana,我改进了ConvertTo-Jsonwith,-depth 32因为默认深度值为2,对于深度大于2的对象,尽管有对象,您仍会收到类信息。



 类似资料:
  • 问题内容: 我正在使用Python,并且有一个JSON文件,我想在其中更新与给定键相关的值。也就是说,我包含以下数据 并且我只想将与键相关的值从更改为,以便更新后的文件如下所示: 我该怎么做? 我尝试了以下操作,但没有成功(更改未保存到文件中): 问题答案: 您根本没有保存更改的数据。您必须先加载,然后修改,然后再保存。无法就地修改JSON文件。 您也可以这样做: 如果要确保安全,请首先将新数据写

  • 问题内容: 这是我的 JSON 我需要升级到基于 如何在PHP中实现呢? 问题答案: 首先,您需要对其进行解码: 然后更改数据: 然后重新编码并将其保存回文件中:

  • 我有以下不便之处,我想只使用PostgreSQL更新JSON数组的键。我有以下json: 如果“othern”=X,我需要将“othern”更新为另一个数字 (X是我传递给查询的任何数字。例如,如果othern=5,则更新othern)。 这个JSON可能要大得多,所以我需要一些可以在JSON数组中迭代的东西,找到所有与X数匹配的“othern”,并替换为新的。非常感谢。 我尝试了Postgres

  • 我在Elasticsearch中索引了一个文档,如下所示: 我尝试通过以下命令更新计数字段: 但是,我收到了以下错误: 我到底做了什么,却不见了?我在http://www.elasticsearch.org/guide/reference/api/update.html跟踪文件,但它不起作用。 此外,我还包括父字段: 但还是没有成功。有人能帮我解决这个错误吗?

  • 问题内容: 我正在尝试使用Powershell访问JSON对象的特定属性值。不幸的是,我不知道结构中某些父级属性的键,因此我无法直接做到这一点。另外,由于JSON不是数组,因此无法通过索引位置访问。 上下文是我正在从elasticsearch查询正在运行的任务列表,并且需要获取任务的ID(我知道只有一个),因此我可以进行后续调用以发现其完成状态。 我已经研究了一些查询方法,但是不确定如何应用它们(

  • 问题内容: 如果我忽略了一些很明显的东西,就可以选择应用程序;我刚刚找到了并且正在尝试使用它来更新一个JSON值而不影响周围的数据。 我想将结果传送到,更新值,然后将更新的JSON传送到。就像是 到目前为止,我已经使用一起破解了它,但是在查看了一些运算符示例之后,我确定我不需要这些。 这是一个JSON示例- 在保留其余JSON的同时,如何使用set ? 问题答案: 您可以使用运算符设置对象的值。