用批处理读取和写入json文件
时间: 2023-08-23 08:16:28 浏览: 527
json文件批量转化test.bat
在批处理中,你可以使用 `powershell.exe` 命令来执行 PowerShell 脚本,然后在 PowerShell 脚本中读取和写入 JSON 文件。以下是一个简单的示例:
假设你有一个名为 `data.json` 的 JSON 文件,它包含以下内容:
```json
{
"name": "John",
"age": 30,
"email": "john@example.com"
}
```
现在,你想在批处理中读取该文件并显示其中的姓名和电子邮件地址。你可以创建一个名为 `script.ps1` 的 PowerShell 脚本,并将以下代码复制到其中:
```powershell
$jsonString = Get-Content -Path 'data.json' -Raw
$object = $jsonString | ConvertFrom-Json
Write-Host "Name: $($object.name)"
Write-Host "Email: $($object.email)"
```
然后,在批处理脚本中,你可以使用以下命令来执行 PowerShell 脚本:
```batch
powershell.exe -ExecutionPolicy Bypass -File "script.ps1"
```
这将读取 `data.json` 文件,将其转换为 PowerShell 对象,并在控制台中显示姓名和电子邮件地址。
同样,你也可以在 PowerShell 脚本中将 PowerShell 对象转换为 JSON 字符串,并将其写入文件中。例如,假设你想将以下 JSON 对象写入名为 `output.json` 的文件中:
```json
{
"firstName": "Jane",
"lastName": "Doe",
"age": 25
}
```
你可以创建一个名为 `script.ps1` 的 PowerShell 脚本,并将以下代码复制到其中:
```powershell
$outputObject = @{
firstName = "Jane"
lastName = "Doe"
age = 25
}
$outputJson = $outputObject | ConvertTo-Json
$outputJson | Out-File -FilePath 'output.json'
```
然后,在批处理脚本中,你可以使用以下命令来执行 PowerShell 脚本:
```batch
powershell.exe -ExecutionPolicy Bypass -File "script.ps1"
```
这将将 `$outputObject` 变量转换为 JSON 字符串,并将其写入 `output.json` 文件中。
阅读全文