gpt4 book ai didi

json - ConvertFrom-Json PowerShell Cmdlet 不解析整个 JSON 对象

转载 作者:行者123 更新时间:2023-12-04 02:07:28 25 4
gpt4 key购买 nike

我在一个名为 test.txt 的文件中有这个 JSON

{
"local-dev": {
"client": {
"server-url": "http://localhost:3000"
},
"server": {
"renterEndpoint": {
"rejectUnauthorized": false,
"host": "blah.blah.com",
"port": 443,
"path": "/api/renter"
},
"homeownerEndpoint": {
"rejectUnauthorized": false,
"host": "blah.blah.com",
"port": 443,
"path": "/api/homeowner"
}
}
}
}

当我运行此 PowerShell 命令时:
Get-Content "test.txt" -Raw | ConvertFrom-Json

我得到的输出不包括第二级下的任何对象(即客户端和服务器对象没有属性)。
local-dev
---------
@{client=; server=}

任何人有任何想法?

最佳答案

你想要的数据就在那里。您只需要导航“节点”(不知道正确的术语)
如果您将文件中的数据返回到变量中并使用 Get-Member你可以看到你在找什么。

PS C:\Users\Cameron> $json | Get-Member | Select-Object name

Name
----
Equals
GetHashCode
GetType
ToString
local-dev

让我们看看本地开发中有什么。请注意属性(property)周围的报价。需要 PowerShell 将其视为字符串,否则会出现解析错误。
PS C:\Users\Cameron> $json."local-dev"

client server
------ ------
@{server-url=http://localhost:3000} @{renterEndpoint=; homeownerEndpoint=}

让我们走得更远一点
PS C:\Users\Cameron> $json."local-dev".server.renterEndpoint

rejectUnauthorized host port path
------------------ ---- ---- ----
False blah.blah.com 443 /api/renter

我确信还有其他方法可以提取您正在寻找的数据。我最近才开始看这个。重点是,如果您知道要查找的内容,只需使用对象的属性即可获得所需的内容。如果您不知道该知识 Get-Member可以帮助公开属性以向您展示数据结构。

关于json - ConvertFrom-Json PowerShell Cmdlet 不解析整个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27115880/

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