PowerShell 2.0 ConvertFrom-Json和ConvertTo-Json实现

Jos*_*itt 17 powershell json powershell-2.0

我想monkeypatch PowerShell 2.0环境,目前无法升级到3.0.

我正在寻找PowerShell 3.0中的ConvertFrom-Jsoncmdlet和ConvertTo-Jsoncmdlet 的PowerShell 2.0脚本实现.

我最感兴趣的是ConvertFrom-Json,但ConvertTo-Json也很好.

Edw*_*ard 41

function ConvertTo-Json20([object] $item){
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer
    return $ps_js.Serialize($item)
}

function ConvertFrom-Json20([object] $item){ 
    add-type -assembly system.web.extensions
    $ps_js=new-object system.web.script.serialization.javascriptSerializer

    #The comma operator is the array construction operator in PowerShell
    return ,$ps_js.DeserializeObject($item)
}
Run Code Online (Sandbox Code Playgroud)

  • 这是一个基于上述的ConvertFrom函数.`function ConvertFrom-Json20([object] $ item){add-type -assembly system.web.extensions $ ps_js = new-object system.web.script.serialization.javascriptSerializer return $ ps_js.DeserializeObject($ item)}`.格式不好,抱歉. (6认同)
  • 我得到错误`异常调用"Serialize"与"1"参数:"序列化'System.Management.Automation.PSMethod'类型的对象时检测到循环引用 (2认同)
  • 更多信息-`ConvertTo-Json20`无法处理Powershell对象,如$ obj = New-Object PsObject。您将收到上面的错误。数组到目前为止已经可以使用了$ arr = @('va1','val2')` (2认同)