将json中的多个值放入文本文件

9bfwbjaz  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(117)

我希望文本文件中的结果如下所示:Orbx ENGM Oslo Gardermoen Airport - Microsoft Flight Simulator 1.0.0

- Microsoft飞行模拟器应在值之间写入

下面是我的json文件:

{
  "dependencies": [],
  "content_type": "SCENERY",
  "title": "ENGM Oslo Gardermoen Airport",
  "manufacturer": "",
  "creator": "Orbx",
  "package_version": "1.0.0",
  "minimum_game_version": "1.30.12",
  "release_notes": {
    "neutral": {
      "LastUpdate": "",
      "OlderHistory": ""
    }
  }
}

是否也可以像这样保存带有标题值的文本文件:版本_工程师_msfs.txt
到目前为止,我使用以下代码用一个值填充了该文件:

@ECHO off

Powershell "(Get-Content .\manifest.json|ConvertFrom-Json).title" >version_msfs.txt
olmpazwi

olmpazwi1#

  • 保存[pscustomobject]对象(图形),ConvertFrom-Json将JSON文件解析为一个辅助变量。
  • 使用该变量访问parsed-from-JSON对象的属性,并通过格式操作符-f合成输出字符串。
  • 应用相同的技术确定传递给Set-Content cmdlet的输出文件名。
  • 注:在 PowerShell(Core)7+ 中,Set-Content默认使用无BOM的UTF-8作为字符编码;在 Windows PowerShell 中,由系统的旧版ANSI代码页确定编码;根据需要使用-Encoding参数(但请注意,在Windows PowerShell中,您不能直接创建 * 无BOM * UTF-8文件)。
@echo off

powershell.exe "$o = Get-Content -Raw .\manifest.json | ConvertFrom-Json; '{0} {1} - Microsoft Flight Simulator {2}' -f $o.creator, $o.title, $o.version | Set-Content ('version_{0}_msfs.txt' -f (-split $o.title)[0])"

相关问题