Powershell json RESTful api - 条件声明

时间:2016-12-12 16:23:32

标签: json powershell

目前,我正在尝试编写一个声明以下内容的条件语句

If($JSON.response = false){
'Dont do anything and continue to the next block of code.'
}

现在,当没有数据时,JSON会像这样返回:

 response_code response
 ------------- --------
             0 {} 

这是我到目前为止所做的:

If($json.response = 0){
'Dont do anything here'
}elseif($json.response = 1){
'Do the code'
}

我想补充一点,当响应没有错误时,response_code总是等于0,如状态码200.但是,当没有返回字段时,响应只是一个空的哈希表。

2 个答案:

答案 0 :(得分:2)

您真的想要测试json.response而不是json.response_code吗?数字比较表明您应该测试json.response_code

此外,如果json是存储在变量中的结构,则应将其测试为$json.response_code - 请注意$ - 并使用-eq比较运算符作为@JamesC 。指出。

最后,除非您将来可能更改$json.response_code为零的事件,否则请完全放弃该测试,并仅测试您实际执行的$json.response_code值东西。

答案 1 :(得分:0)

我找到了答案,因为对象是一个数组,最好这样推出。

 If($json.object.Count -eq 0){
 'dont do the code'
 }Else{
 'Do the code'}