读取json文档
$json = (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json
$select=$json.Content.selected[0]
$HddCoun=$json.Content.normal.Count
遍历数组
foreach($str in $json.versions) { echo "value: $str"
}
json数据转换psobject.properties
$json = (Get-Content "C:\nowSelect.json" -Raw) | ConvertFrom-Json$select=$json.Content.selected[0].psobject.properties.Name $selectValue=$json.Content.selected[0].psobject.properties.Value
字符串转换Json 添加和保存文件
$s = '{"foo":"hello"}
$o = $s | ConvertFrom-Json//修改
$o.foo = "hello2"//添加
$o | Add-Member 'bar' 'World'
//标准写法
Add-Member -InputObject $o -MemberType NoteProperty -Name 'bar' -Value "World"//保存
$o | ConvertTo-Json | Out-File test.json
json内添加数组
1.@()表示空的数组
$jsonTable | Add-Member $itemName @()2.json数组内添加json内容,原理是数组内增加json member$jsonKey='"'+"$jsonKey"+'"'
$jsonValue='"'+"$jsonValue"+'"'a.把字符串转换json ,在把json内容加入到数组内。
$newMember='{'+"$jsonKey"+':'+"$jsonValue"+'}'
$newMember=$newMember|ConvertFrom-Jsonb. powershell 添加数组用+=
$jsonTable."$itemName"+=$newMember
json与字符串转换例子
1.初始化
$jsonTable = '{"Name":"case info table"}'a.字符串转换json,使用ConvertFrom-Json
$jsonTable = $jsonTable | ConvertFrom-Jsonb.json转换字符串输出,使用ConvertTo-Json
$jsonTable |ConvertTo-Json2.添加item
$jsonTable=$jsonTable | ConvertFrom-Json$jsonTable | Add-Member $jsonKey $jsonValue$jsonTable|ConvertTo-Json |out-file "c:\data.json"$jsonTable |ConvertTo-Json3.添加空数组
$jsonTable=$jsonTable | ConvertFrom-Json$jsonTable | Add-Member $itemName @()$jsonTable|ConvertTo-Json |out-file "c:\data.json"$jsonTable |ConvertTo-Json4.数组添加内容
$jsonKey='"'+"$jsonKey"+'"'
$jsonValue='"'+"$jsonValue"+'"'$jsonTable=$jsonTable | ConvertFrom-Json$newMember='{'+"$jsonKey"+':'+"$jsonValue"+'}'
$newMember=$newMember|ConvertFrom-Json$jsonTable."$itemName"+=$newMember$jsonTable|ConvertTo-Json |out-file "C:\Data.json" $jsonTable |ConvertTo-Json
参考:http://www.voidcn.com/article/p-nisspnhk-bwh.html