使用Powershell,我得到了一个返回到我的第一个变量的json代码片段(这总是很好用);
# Initialise variables...
$nMessage_id = "";
$whatStatusJsonContent = "";
# Function https://abc.googleapis.com/abc/load call here and returns...
$whatStatusJsonContent = '{"message_id":9093813071099257562}'
然后,我将转换函数调用为一个临时变量,如下所示;
$ResponseBody = ConvertFrom-Json $whatStatusJsonContent;
它将Json放入一个很好的小数据结构中,如下所示;
message_id
----------
9093813071099257562
我可以通过调用它来选择我想要的值;
$nMessage_id = $ResponseBody.message_id;
通常,这样做很好,我会将值放入第二个变量中;
$nMessage_id = 9093813071099257562
问题是:有时我在$nMessage_id中什么也得不到,即使$whatStatusJsonContent确实被记录为从函数中正确返回了Json。
我的问题是:我必须从第一个变量开始进行ConvertFrom-Json,还是可以直接从第一个变量开始读取?
组合解决方案:感谢@mklement()和@Bernard-Moeskops
# Initialise variables...
$nMessage_id = "";
$whatStatusJsonContent = "";
# Function https://abc.googleapis.com/abc/load call here and returns...
$whatStatusJsonContent = '{"message_id":9093813071099257562}'
$ResponseBody = ConvertFrom-Json $whatStatusJsonContent;
if($ResponseBody.message_id){
# ConvertFrom-Json got the value!
$nMessage_id = $ResponseBody.message_id
}else{
# ConvertFrom-Json didn't work!
$nMessage_id = = ($whatStatusJsonContent -split '[:}]')[1]
}
https://stackoverflow.com/questions/54977018
复制相似问题