Powershell 如何将json字符串转换为哈希表

Powershell 如何将json字符串转换为哈希表,powershell,Powershell,如何将json字符串转换为hastable? 假设我有一个字符串,例如: {"Application":"Billing Interface","Business Area":"Interfaces","Region":"YO"} 如何将其转换为哈希表 我现在正在这样做: $myJsonString= $myJsonString.TrimEnd("}") .TrimStart("{") .Replace('":"',"= ")

如何将json字符串转换为hastable?

假设我有一个字符串,例如:

{"Application":"Billing Interface","Business Area":"Interfaces","Region":"YO"}
如何将其转换为哈希表

我现在正在这样做:

$myJsonString= 
$myJsonString.TrimEnd("}")
             .TrimStart("{")
             .Replace('":"',"= ")
             .Replace('"',"")
             .Replace(","," `n ")
$myJsonString = ConvertFrom-StringData -StringData $myJsonString

如何将json字符串转换为hastable?

如果将您拥有的json字符串转换为对象,您可以使用元素名称访问元素

$JsonString = "{""Application"":""Billing Interface"",""Business Area"":""Interfaces"",""Region"":""YO""}"
#OR 
$JsonString = Get-Content fromFile.txt

$object = $JsonString | ConvertFrom-Json

$object.Application
$object.'Business Area'

如果您获取您拥有的json字符串,将其转换为一个对象,您可以使用元素的名称访问元素

$JsonString = "{""Application"":""Billing Interface"",""Business Area"":""Interfaces"",""Region"":""YO""}"
#OR 
$JsonString = Get-Content fromFile.txt

$object = $JsonString | ConvertFrom-Json

$object.Application
$object.'Business Area'

我不知道为什么您需要一个哈希表,但是您可以使用它输出一个PSCustomObject,然后转换成一个哈希表$hash


请注意,PowerShell Core具有-AsHashTable参数,如果您正在运行该版本,则该参数可能适用于您。

我不确定您为什么特别需要哈希表,但您可以使用该参数输出PSCustomObject,然后转换为哈希表$hash


请注意,PowerShell Core具有-AsHashTable参数,如果您正在运行该版本,该参数可能适用于您。

使用.NET类System.Web.Script.Serialization.JavaScriptSerializer执行此操作的最简单方法。Microsoft文档链接:


使用.NET类System.Web.Script.Serialization.JavaScriptSerializer实现此目的的最简单方法。Microsoft文档链接:

Add-Type -AssemblyName "System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
$jsSerializer = New-Object -TypeName System.Web.Script.Serialization.JavaScriptSerializer
$jsSerializer.Deserialize($myjsonstring, 'Hashtable')