我使用经典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数据有关,并且该对象不像常规字符串变量那样对待,但我无法确定如何检查它是否为空。
任何建议都非常感谢。
谢谢!
答案 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
多年来一直在使用它。