我目前正在从PowerShell脚本生成JSON文件,但它正在输出Unicode而不是诸如'
这是我得到的输出:

[
    {
        "Id":  "187303",
        "LinkText":  "\u003cb style =color:#d11717;\u0027\u003eAnnual General Meeting (MEET)"
    },
    {
        "Id":  "187305",
        "LinkText":  "\u003cb style =color:#d11717;\u0027\u003eAnnual General Meeting (MEET)"
    }
]

这是我正在使用的代码:
$(foreach ($row in $DataSet.Tables[0].Rows){
    $stockShortName = $row[0].ToString().Trim()
    $id = $row[0].ToString().Trim()
    $linkText = "<b style =color:`#d11717;'>$event_description"

    (New-Object PSObject |
     Add-Member -PassThru NoteProperty Id $id |
     Add-Member -PassThru NoteProperty LinkText $linkText
    )
}) | ConvertTo-JSON | Out-File $OutputFile -Encoding "default"

最佳答案

我看不到内置参数来阻止这种转换的发生。这是一种可转换回unicode字符的解决方法:

[regex]::replace($json,'\\u[a-fA-F0-9]{4}',{[char]::ConvertFromUtf32(($args[0].Value -replace '\\u','0x'))})

10-07 21:39