Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
从Google MAPS API返回的字符串格式不正确_Api_Maps - Fatal编程技术网

从Google MAPS API返回的字符串格式不正确

从Google MAPS API返回的字符串格式不正确,api,maps,Api,Maps,从Google Maps API返回时,JSON和XML字符串的格式都不正确,无法使用。这是使用Java脚本或ASP脚本实现的; 我两个都试过了,都没有成功 以下是使用的代码: Dim URL: URL = "http://maps.googleapis.com/maps/api/directions/json?origin=Anaheim,CA&destination=Corona,CA&sensor=false&prettyprint=true" ' Call th

从Google Maps API返回时,JSON和XML字符串的格式都不正确,无法使用。这是使用Java脚本或ASP脚本实现的; 我两个都试过了,都没有成功

以下是使用的代码:

Dim URL: URL = "http://maps.googleapis.com/maps/api/directions/json?origin=Anaheim,CA&destination=Corona,CA&sensor=false&prettyprint=true"

' Call the Google Maps API, using XMLHTTPRequest:
ReturnFromFunction = Get_Total_Driving_Distance_Google_API_XML(URL)
Response.Write(ReturnFromFunction)
Response.End

Function Get_Total_Driving_Distance_Google_API_XML(TheURL)

Dim XMLHttpRequest30
Dim XMLHttpRequest60
Dim sHTTPPostingStatus: sHTTPPostingStatus = null

XMLHttpRequest30 = "Msxml2.ServerXMLHTTP.3.0"
XMLHttpRequest60 = "Msxml2.ServerXMLHTTP.6.0"
XMLHttpRequest = "Msxml2.ServerXMLHTTP"

Set oXML = Server.CreateObject(XMLHttpRequest)

    'SETUP TIMEOUTS-(NOTE: ONLY SUPPORTED IN XMLHTTPREQUEST VERSIONS 3.0 AND 6.0):
oXML.setTimeouts 100000, 60000, 60000, 360000

If TheURL <> "" Then

    oXML.open "GET", TheURL, false
    oXML.setRequestHeader "Content-Type", "text/json"
    oXML.setRequestHeader "CharSet", "UTF-8"

    'Send the request:  
    oXML.send

sHTTPPostingStatus = oXML.Status
sReturnedString = oXML.ResponseText

End If  

'A status of 200 means HTTP posting is OK.  For other status codes, see referenced URL, http://msdn.microsoft.com/en-us/library/ms767625(VS.85).aspx
If sHTTPPostingStatus = 200 Then

    Get_Total_Driving_Distance_Google_API_XML = sReturnedString
    Set oXML = nothing
    Exit Function

ElseIf sHTTPPostingStatus = 404 Then

    Get_Total_Driving_Distance_Google_API_XML = "XML document could not be found"
    Set oXML = nothing
    Exit Function
End If
End Function
Dim URL:URL=”http://maps.googleapis.com/maps/api/directions/json?origin=Anaheim,CA和目的地=电晕,CA和传感器=假,预打印=真”
'使用XMLHTTPRequest调用Google地图API:
ReturnFromFunction=Get\u Total\u Driving\u Distance\u Google\u API\u XML(URL)
Response.Write(ReturnFromFunction)
答复.完
函数Get\u Total\u Driving\u Distance\u Google\u API\u XML(URL)
Dim XMLHttpRequest30
Dim XMLHttpRequest60
Dim sHTTPPostingStatus:sHTTPPostingStatus=null
XMLHttpRequest30=“Msxml2.ServerXMLHTTP.3.0”
XMLHttpRequest60=“Msxml2.ServerXMLHTTP.6.0”
XMLHttpRequest=“Msxml2.ServerXMLHTTP”
设置oXML=Server.CreateObject(XMLHttpRequest)
'设置超时-(注意:仅在XMLHTTPREQUEST版本3.0和6.0中支持):
oXML.SetTimeout 100000、60000、60000、360000
如果URL为“”,则
oXML.open“GET”,URL,false
oXML.setRequestHeader“内容类型”、“文本/json”
oXML.setRequestHeader“字符集”、“UTF-8”
'发送请求:
发送
sHTTPPostingStatus=oXML.Status
sReturnedString=oXML.ResponseText
如果结束
'状态为200表示HTTP发布正常。有关其他状态代码,请参见引用的URL,http://msdn.microsoft.com/en-us/library/ms767625(第85节)
如果sHTTPPostingStatus=200,则
获取总驾驶距离谷歌API XML=sReturnedString
设置oXML=nothing
退出功能
ElseIf sHTTPPostingStatus=404然后
Get_Total_Driving_Distance_Google_API_XML=“找不到XML文档”
设置oXML=nothing
退出功能
如果结束
端函数
通过转到以下URL,您可以确切地看到执行此代码时发生的情况:

您将看到返回的JSON格式不正确且不可解析。
在这方面已经工作了很多小时,到目前为止还没有解决方案。
非常感谢你的帮助

仔细看一下,JSON的格式非常完美。如果您转到联机JSON检查器并粘贴返回的JSON,则它是有效的。这意味着可以解析JSON

另外,您需要检查以下内容:在控制台中,我发现以下错误:

未捕获引用错误:未定义初始化\u Java\u函数

并检查页面的编码。这不是因为它的格式


这篇文章可能有用:

非常感谢您!使用我找到的ASP JSON解析器,我让它运行得非常好。你完全正确!