Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell从Json希伯来语转换而来-->;问号_Json_Powershell_Hebrew_Convertfrom Json - Fatal编程技术网

Powershell从Json希伯来语转换而来-->;问号

Powershell从Json希伯来语转换而来-->;问号,json,powershell,hebrew,convertfrom-json,Json,Powershell,Hebrew,Convertfrom Json,我试图从Json转换Powershell变量,我得到的是问号而不是希伯来语 据我所知,convertfromjson没有编码参数,你知道如何传递希伯来语吗 看看这个词:מחי㪚מ PS D:\wa2> $BotUpdates StatusCode : 200 StatusDescription : OK Content : {"succes":true,"response":[{"key":{

我试图从Json转换Powershell变量,我得到的是问号而不是希伯来语

据我所知,convertfromjson没有编码参数,你知道如何传递希伯来语吗

看看这个词:מחי㪚מ

PS D:\wa2> $BotUpdates


StatusCode        : 200
StatusDescription : OK
Content           : {"succes":true,"response":[{"key":{"remoteJid":"","fromMe":false,"id":"","participant":""},"message":{"conversation":"***מחילמ***"},...
RawContent        : HTTP/1.1 200 OK
                    Connection: keep-alive
                    Keep-Alive: timeout=5
                    Content-Length: 308
                    Content-Type: application/json; charset=utf-8
                    Date: Thu, 24 Dec 2020 13:35:35 GMT
                    ETag: W/"134-v3U3d/6PCvlXMASgH7...
Forms             : {}
Headers           : {[Connection, keep-alive], [Keep-Alive, timeout=5], [Content-Length, 308], [Content-Type, application/json; charset=utf-8]...}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 308
在从Json转换之后

PS D:\wa2> ($BotUpdates | ConvertFrom-Json).response

key                                                                                                                      message                    messageTimestamp participant                
---                                                                                                                      -------                    ---------------- -----------                
@{remoteJid=18XXXXXX; fromMe=False; id=3AXXXXXX67A1; participant=9} @{conversation=??????????} 1608816932       



PS D:\wa2>
看一看"对话",


有什么想法吗?

好吧,我想更新一下,我通过转换解决了这个问题

($BotUpdates.content | ConvertFrom-Json).response
而不是

($BotUpdates | ConvertFrom-Json).response

我想更新一下,我通过转换解决了这个问题

($BotUpdates.content | ConvertFrom-Json).response
而不是

($BotUpdates | ConvertFrom-Json).response

这很奇怪,因为响应对象本身表明响应被正确接收,或者您没有显示原始输出
ConvertFrom Json
对内存中已有的.NET字符串进行操作,而只有当
Invoke WebRequest
解析请求并构造这些.NET字符串时,才会对字符编码进行解释。响应建议使用UTF-8编码,
调用WebRequest
应通过
内容类型
标题字段进行选择。顺便提一下:对于JSON API,使用
调用RestMethod
通常更简单,因为它内置了
ConvertFrom JSON
。如果您发现响应的字符编码被误解,您可以尝试在之后重新编码,如中所示。这可能与控制台输出编码有关(
$outpunecoding
)和原始字符串完全正确。您可以将其重定向到文件(使用正确的编码)这很奇怪,因为响应对象本身表明响应被正确接收,或者您没有显示原始输出?
convertfromjson
对内存中已有的.NET字符串进行操作,而字符编码的解释只有在
Invoke WebRequest
解析请求并构造这些.NET字符串。响应建议使用UTF-8编码,
Invoke WebRequest
应该通过
Content-Type
头字段来使用它。顺便说一句:对于JSON API,使用
Invoke RestMethod
通常更简单,因为它内置了
ConvertFrom JSON
Response的字符编码被误解,您可以尝试在之后重新编码,如中所示。这可能与控制台输出编码(
$outpunecoding
)有关,并且原始字符串完全正确。您可以将其重定向到文件(编码正确)并进行验证。