json - 不知道如何在Powershell中获取JSON对象的名称字段?

标签 json powershell powershell-3.0

我有这个 JSON 文件:

{
    "CARD_MODEL_TITLE": "OWNER'S MANUAL",
    "CARD_MODEL_SUBTITLE": "Configure your download",
    "CARD_MODEL_SELECT": "Select Model",
    "CARD_LANG_TITLE": "Select Language",
    "CARD_LANG_DEVICE_LANG": "Your device",
    "CARD_YEAR_TITLE": "Select Model Year",
    "CARD_YEAR_LATEST": "(Latest)",
    "STEPS_MODEL": "Model",
    "STEPS_LANGUAGE": "Language",
    "STEPS_YEAR": "Model Year",
    "BUTTON_BACK": "Back",
    "BUTTON_NEXT": "Next",
    "BUTTON_CLOSE": "Close"
}

我用来在 Powershell 中将其转换为 JSON 对象的语法是这样的:
$json = (Get-Content "jsonfile.json") -join "`n" | ConvertFrom-Json

问题是我想编辑每对名称/值的值,但名称字段在其他文件中可能会有所不同,并且由于我想要每个文件的单个脚本,因此必须是通用的。

如何在事先不知道名称字段的情况下获取名称/值对的名称字段?或者换句话说,我想要一种:foreach ($i in $json)
谢谢

最佳答案

您可以在转换后使用 $json.psobject.properties.name :

@'
   {
    "CARD_MODEL_TITLE": "OWNER'S MANUAL",
    "CARD_MODEL_SUBTITLE": "Configure your download",
    "CARD_MODEL_SELECT": "Select Model",
    "CARD_LANG_TITLE": "Select Language",
    "CARD_LANG_DEVICE_LANG": "Your device",
    "CARD_YEAR_TITLE": "Select Model Year",
    "CARD_YEAR_LATEST": "(Latest)",
    "STEPS_MODEL": "Model",
    "STEPS_LANGUAGE": "Language",
    "STEPS_YEAR": "Model Year",
    "BUTTON_BACK": "Back",
    "BUTTON_NEXT": "Next",
    "BUTTON_CLOSE": "Close"
   }
'@ | set-content jsonfile.json

$json = (Get-Content "jsonfile.json" -Raw) | ConvertFrom-Json

$json.psobject.properties.name

CARD_MODEL_TITLE
CARD_MODEL_SUBTITLE
CARD_MODEL_SELECT
CARD_LANG_TITLE
CARD_LANG_DEVICE_LANG
CARD_YEAR_TITLE
CARD_YEAR_LATEST
STEPS_MODEL
STEPS_LANGUAGE
STEPS_YEAR
BUTTON_BACK
BUTTON_NEXT
BUTTON_CLOSE

您还可以消除 -join通过使用 -RawGet-Content 切换

关于json - 不知道如何在Powershell中获取JSON对象的名称字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23062087/

相关文章:

xml - 如何使用结构化 XML 数据编写事件日志条目?

json - 使用 Select-Object 从 JSON 中提取嵌套字段

powershell - 将 NuGet 与 Visual Studio 2005 结合使用

powershell - 如何在PowerShell中将文件复制到多个文件夹

powershell - 如何替换 Powershell 中格式列表输出中的文本

powershell - PSCustomobject扰乱奇怪的输出

javascript - 将数据库模型的整洁 json 数据从服务器(python)发送到客户端

json - Flutter List 不是 'Iterable<dynamic>' 类型的子类型

javascript - 重构 JSON 以与 Firebase 实时数据库一起使用

json - Play Framework 2.1.1 Json 写入嵌套对象