[玩转系统] ConvertTo-Json (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:08:14 浏览:12 分类:玩电脑
ConvertTo-Json (Microsoft.PowerShell.Utility)
ConvertTo-Json
模块 :Microsoft.PowerShell.Utility将对象转换为 JSON 格式的字符串。
句法
ConvertTo-Json
[-InputObject] <Object>
[-Depth <Int32>]
[-Compress]
[-EnumsAsStrings]
[-AsArray]
[-EscapeHandling <StringEscapeHandling>]
[<CommonParameters>]
描述
ConvertTo-Json
cmdlet 可将任何 .NET 对象转换为 JavaScript 对象表示法 (JSON) 格式的字符串。属性将转换为字段名称,字段值将转换为属性值,并且删除方法。
笔记
从 PowerShell 7.2 开始,DateTime 和 String 对象的扩展类型系统属性不再序列化,仅简单对象转换为 JSON 格式
然后,您可以使用 ConvertFrom-Json
cmdlet 将 JSON 格式的字符串转换为 JSON 对象,这样可以在 PowerShell 中轻松管理。
许多网站使用 JSON 而不是 XML 来序列化数据,以便在服务器和基于 Web 的应用程序之间进行通信。
从 PowerShell 7.1 开始,如果输入对象的深度超过为命令指定的深度,ConvertTo-Json
会发出警告。这可以防止转换对象时不必要的数据丢失。
此 cmdlet 是在 Windows PowerShell 3.0 中引入的。
示例
实施例1
(Get-UICulture).Calendar | ConvertTo-Json
{
"MinSupportedDateTime": "0001-01-01T00:00:00",
"MaxSupportedDateTime": "9999-12-31T23:59:59.9999999",
"AlgorithmType": 1,
"CalendarType": 1,
"Eras": [
1
],
"TwoDigitYearMax": 2029,
"IsReadOnly": true
}
此命令使用 ConvertTo-Json
cmdlet 将 GregorianCalendar 对象转换为 JSON 格式的字符串。
实施例2
Get-Date | ConvertTo-Json; Get-Date | ConvertTo-Json -AsArray
"2021-08-05T16:13:05.6394416-07:00"
[
"2021-08-05T16:13:05.6421709-07:00"
]
此示例显示带有和不带有 AsArray 开关参数的 ConvertTo-Json
cmdlet 的输出。您可以看到输出的第二部分包含在数组括号中。
实施例3
@{Account="User01";Domain="Domain01";Admin="True"} | ConvertTo-Json -Compress
{"Domain":"Domain01","Account":"User01","Admin":"True"}
此命令显示使用 ConvertTo-Json
的 Compress 参数的效果。压缩仅影响字符串的外观,而不影响其有效性。
实施例4
Get-Date | Select-Object -Property * | ConvertTo-Json
{
"DisplayHint": 2,
"DateTime": "October 12, 2018 10:55:32 PM",
"Date": "2018-10-12T00:00:00-05:00",
"Day": 12,
"DayOfWeek": 5,
"DayOfYear": 285,
"Hour": 22,
"Kind": 2,
"Millisecond": 639,
"Minute": 55,
"Month": 10,
"Second": 32,
"Ticks": 636749817326397744,
"TimeOfDay": {
"Ticks": 825326397744,
"Days": 0,
"Hours": 22,
"Milliseconds": 639,
"Minutes": 55,
"Seconds": 32,
"TotalDays": 0.95523888627777775,
"TotalHours": 22.925733270666665,
"TotalMilliseconds": 82532639.774400011,
"TotalMinutes": 1375.54399624,
"TotalSeconds": 82532.6397744
},
"Year": 2018
}
此示例使用 ConvertTo-Json
cmdlet 将 System.DateTime 对象从 Get-Date
cmdlet 转换为 JSON 格式的字符串。该命令使用 Select-Object
cmdlet 获取 DateTime 对象的所有 (*
) 属性。输出显示 ConvertTo-Json
返回的 JSON 字符串。
实施例5
Get-Date | Select-Object -Property * | ConvertTo-Json | ConvertFrom-Json
DisplayHint : 2
DateTime : October 12, 2018 10:55:52 PM
Date : 2018-10-12 12:00:00 AM
Day : 12
DayOfWeek : 5
DayOfYear : 285
Hour : 22
Kind : 2
Millisecond : 768
Minute : 55
Month : 10
Second : 52
Ticks : 636749817527683372
TimeOfDay : @{Ticks=825527683372; Days=0; Hours=22; Milliseconds=768; Minutes=55; Seconds=52;
TotalDays=0.95547185575463; TotalHours=22.9313245381111; TotalMilliseconds=82552768.3372;
TotalMinutes=1375.87947228667; TotalSeconds=82552.7683372}
Year : 2018
此示例演示如何使用 ConvertTo-Json
和 ConvertFrom-Json
cmdlet 将对象转换为 JSON 字符串和 JSON 对象。
参数
-AsArray
即使输入是单个对象,也输出数组括号中的对象。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Compress
省略输出字符串中的空格和缩进格式。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Depth
指定 JSON 表示形式中包含多少级别的包含对象。该值可以是 0
到 100
之间的任意数字。默认值为2
。如果输入对象中的级别数超过此数量,ConvertTo-Json
会发出警告。
整数32
位置:命名
默认值:2
必需的:False
接受管道输入:False
接受通配符:False
-EnumsAsStrings
提供替代序列化选项,将所有枚举转换为其字符串表示形式。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-EscapeHandling
控制如何在生成的 JSON 输出中转义某些字符。默认情况下,仅转义控制字符(如换行符)。
可接受的值为:
- 默认 - 仅转义控制字符。
- EscapeNonAscii - 所有非 ASCII 字符和控制字符均被转义。
- EscapeHtml - HTML(
<
、>
、&
、'
、"
)和控制字符被转义。
此参数是在 PowerShell 6.2 中引入的。
类型 :Newtonsoft.Json.StringEscapeHandling
位置:命名
默认值:默认
必需的:False
接受管道输入:False
接受通配符:False
-InputObject
指定要转换为 JSON 格式的对象。输入包含对象的变量,或键入获取对象的命令或表达式。您还可以通过管道将对象传递给 ConvertTo-Json
。
InputObject 参数是必需的,但其值可以为 null ($null
) 或空字符串。当输入对象为 $null
时,ConvertTo-Json
返回 null
的 JSON 表示形式。当输入对象为空字符串时,ConvertTo-Json
返回空字符串的 JSON 表示形式。
目的
位置:0
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
输入
对象
您可以通过管道将任何对象传递给此 cmdlet。
输出
字符串
此 cmdlet 返回表示转换为 JSON 字符串的输入对象的字符串。
笔记
ConvertTo-Json
cmdlet 是使用 Newtonsoft Json.NET 实现的。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag