Windows怎么用PowerShell处理JSON数据_Windows如何用ConvertFrom-Json解析和生成JSON【技巧】

酷墨小哥_8247

酷墨小哥_8247

2026-03-25

337人浏览

原创

powershell通过convertfrom-json和convertto-json原生支持json解析与生成:前者将json字符串或文件转为对象并支持属性访问,后者将对象序列化为json并需指定depth保留嵌套结构,还支持中文、管道筛选等操作。

windows怎么用powershell处理json数据_windows如何用convertfrom-json解析和生成json【技巧】

如果您在Windows系统中需要对JSON格式的数据进行解析或生成,PowerShell提供了原生支持的ConvertFrom-Json和ConvertTo-Json命令。以下是具体操作步骤:

一、使用ConvertFrom-Json解析JSON字符串

ConvertFrom-Json将JSON格式的字符串转换为PowerShell中的对象(如PSCustomObject),便于后续属性访问和数据处理。该命令要求输入为合法JSON语法,不支持尾随逗号或单引号包裹的键名。

1、打开PowerShell(管理员权限非必需,普通用户即可)。

2、输入以下命令将JSON字符串解析为对象:
$jsonString = '{"name":"Alice","age":30,"city":"Beijing"}'; $obj = $jsonString | ConvertFrom-Json

3、通过点号访问属性:
$obj.name 返回 Alice,$obj.age 返回 30。

4、若JSON为数组格式,解析后可使用索引访问:
$arrayJson = '[{"id":1},{"id":2}]' | ConvertFrom-Json; $arrayJson[0].id

二、从文件读取JSON并解析

当JSON数据存储在本地文件中时,可结合Get-Content与ConvertFrom-Json完成解析,需确保文件编码为UTF-8且无BOM,否则可能引发解析错误。

1、确认JSON文件路径,例如C:\data\config.json,内容为:
{"server":"prod.example.com","port":443,"enabled":true}

2、执行命令读取并解析:
$config = Get-Content "C:\data\config.json" -Raw | ConvertFrom-Json

3、验证解析结果:
$config.server 输出 prod.example.com,$config.enabled 输出 True。

三、使用ConvertTo-Json生成JSON字符串

ConvertTo-Json将PowerShell对象序列化为JSON字符串,默认深度为2,嵌套层级超过时会截断属性;如需完整输出,必须显式指定Depth参数。

1、创建一个哈希表对象:
$data = @{name='Bob'; scores=@(85,92,78); active=$true}

windows-healing-gateway
windows-healing-gateway

通过任务计划程序自动监控并自修复 Windows 上的 OpenClaw Gateway,具备 AI 诊断和 Telegram 报警功能。

下载

2、转换为JSON(默认Depth=2,可能丢失深层结构):
$data | ConvertTo-Json

3、确保完整保留嵌套结构:
$data | ConvertTo-Json -Depth 10

4、将结果保存到文件:
$data | ConvertTo-Json -Depth 10 | Set-Content "C:\output\result.json" -Encoding UTF8

四、处理带特殊字符或中文的JSON

PowerShell 5.1及以上版本默认支持UTF-8,但若JSON源含中文且未声明UTF-8编码,解析时可能出现乱码;此时需强制指定输入流编码,并避免使用Get-Content的默认ANSI行为。

1、读取含中文的JSON文件(如含“城市”、“用户”等字段):
$raw = [System.IO.File]::ReadAllText("C:\data\chinese.json", [System.Text.Encoding]::UTF8)

2、解析该字符串:
$obj = $raw | ConvertFrom-Json

3、验证中文字段是否正确显示:
$obj.城市 或 $obj."城市"(使用引号包裹含中文或空格的属性名)。

五、在管道中组合解析与筛选操作

PowerShell支持将ConvertFrom-Json与其他Cmdlet链式调用,实现对JSON数组的过滤、排序和投影,无需中间变量。

1、定义含多个对象的JSON数组字符串:
$list = '[{"name":"Tom","score":88},{"name":"Jerry","score":95},{"name":"Anna","score":82}]'

2、解析后筛选分数大于85的对象:
$list | ConvertFrom-Json | Where-Object {$_.score -gt 85}

3、仅提取姓名并转为大写:
$list | ConvertFrom-Json | ForEach-Object {$_.name.ToUpper()}

4、导出符合条件的对象为新JSON文件:
$list | ConvertFrom-Json | Where-Object {$_.score -gt 85} | ConvertTo-Json -Depth 10 | Set-Content "C:\filtered.json"

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

windows

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2023.08.07

2075

5

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.23

3082

1

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

2023.10.13

1036

3

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

2025.09.10

3499

7

php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

2025.12.04

738

13

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.03

1678

5

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.04

2544

5

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

2023.10.24

5984

49

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

2023.11.24

5409

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习