gpt4 book ai didi

json - 在不破坏 JSON 格式的情况下更新 JSON 文件

转载 作者:行者123 更新时间:2023-12-01 01:54:26 25 4
gpt4 key购买 nike

我正在尝试在 Powershell 中更新 Swagger JSON 文档。如果对象上不存在一些属性和值,我需要添加它们。

执行此操作的代码非常简单:

$swaggerDoc = (Get-Content $filePath -raw | ConvertFrom-Json)

$swaggerDoc | Add-Member -Name host -MemberType NoteProperty -Value "swagger.io" -Force
$swaggerDoc | Add-Member -Name schemes -MemberType NoteProperty -Value @("https") -Force

$swaggerDoc | ConvertTo-Json | Set-Content $filePath

我遇到的问题是,当我将它保存回文件时,JSON 会被完全破坏:例如
  "get": {
"tags": [
"Links"
],
"operationId": "Links_GetAll",
"parameters": [],
"responses": {
"200": {
"description": "Returns all the available links in the system",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AdministrativeLink"
}
},
"x-nullable": true
}
}
}

变成
"get":  "@{tags=System.Object[]; operationId=Links_GetAll; parameters=System.Object[]; responses=}",

我还没有看到关于如何在 Powershell 中执行此操作的任何其他示例,是否缺少某些语法或参数以保留原始格式?

最佳答案

使用时 ConvertTo-Json , 使用 -Depth保留 JSON 的正确格式.

例如:

$swaggerDoc | ConvertTo-Json -Depth 10 | Set-Content $filePath

我还必须在您的 JSON 周围添加括号,以使其能够被 powershell 读取为有效的 JSON。

关于json - 在不破坏 JSON 格式的情况下更新 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41706497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com