使用ASP JSON检查空的responseText

时间:2014-03-03 06:35:04

标签: json asp-classic

我使用经典ASP“ASP JSON”类来处理Mandrill Email API上的JSON数据。

这是我正在处理/暂时停留的代码:

<%
Set oJSONRej = New aspJSON

With oJSONRej.data
.Add "key", KEY
.Add "email", "this@that.com"
End With    

vurl = "https://mandrillapp.com/api/1.0/rejects/list.json"
set xmlhttpRej = CreateObject("MSXML2.ServerXMLHTTP.6.0") 
xmlhttpRej.open "POST", vurl, false 
xmlhttpRej.setRequestHeader "Content-type","application/json"
xmlhttpRej.setRequestHeader "Accept","application/json"

'send JSON data to the API
xmlhttpRej.send oJSONRej.JSONoutput()

'process the response JSON data
vAnswerRej = xmlhttpRej.responseText
vAnswerRej = replace(vAnswerRej,"[","")
vAnswerRej = replace(vAnswerRej,"]","")
%>

我无法弄清楚如何判断“vAnswerRej”是否包含数据。

我尝试过这些选项来检查变量是否为空:

if len(vAnswerRej) > 0 then....

if vAnswerRej <> "" then

但返回数据的长度始终为零,即使它实际上确实包含数据,因为如果“vAnswerRej”为空,则responseText后面的Replace()行为空。

是否有一种简单的方法来确认JSON responseText是否包含一些JSON数据?

我认为它与使用JSON数据有关,并且该对象不像常规字符串变量那样对待,但我无法确定如何检查它是否为空。

任何建议都非常感谢。

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试此操作以捕获所有Null:

Public Function IsNullOrEmpty(strString)
  strString = Trim(strString)

  If IsEmpty(strString) Then
    IsNullOrEmpty = True
    Exit Function
  ElseIf StrComp(strString, "") = 0 Then
    IsNullOrEmpty = True
    Exit Function
  ElseIf IsNull(strString) Then
    IsNullOrEmpty = True
    Exit Function
  Else
    IsNullOrEmpty = False
    Exit Function
  End If
End Function

像这样使用:

if Not IsNullOrEmpty(vAnswerRej) then ...

答案 1 :(得分:0)

继我对OP问题的评论

我发现的简单方法(虽然我将其归类为黑客)是使用

If Len(vAnswerRej & "") > 0 Then

多年来一直在使用它。