随笔 - 911  文章 - 5  评论 - 94  阅读 - 243万

编辑修改json文件(PSCustomObject)

 

复制代码
#$uname:用户
#$mails:需要绑定或删除的邮箱,如有多个邮箱,中间以,为分隔符,无需添加引号 

#######################脚本开始###########################
#定义json文件路径
$json_file = "D:\operations\TEMP\qruserlist.json"

#读取json文件并转换为PSCustomobject
$qr_obj = gc $json_file |ConvertFrom-Json 

#获取object中的所有Name
[array]$qr_obj_names = ($qr_obj | Get-Member -Type NoteProperty).Name

#添加新属性
$qr_obj | Add-Member -MemberType Noteproperty -Name $uname -Value $mails

#先将[array]其转换为为可修改的[System.Collections.ArrayList],然后可以插入、删除数组元素
[System.Collections.ArrayList]($qr_obj.$uname)=$qr_obj.$uname
$qr_obj.$uname.Insert($qr_obj.$uname.count,$mail) #插入一个新元素
$qr_obj.$uname.Remove($mail) #删除数组元素
$qr_obj.PSObject.properties.remove($uname) #删除Object某个属性


#将修改后的PSCustomObject重新写回json文件
Set-Content -Path $json_file -value (ConvertTo-Json $qr_obj)
复制代码

 

posted on   momingliu11  阅读(1570)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2013-12-13 Windows命令大全
2013-12-13 Klist
2013-12-13 Nltest
2013-12-13 HTML输出 二 控制行背景颜色
2013-12-13 创建虚拟交换机(New-VMSwitch)
2012-12-13 JavaScript消息框应用
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示