2013-11-22 2 views
1

중복 될 수 있지만 문제를 해결할 수있는 방법이 없습니다.Google 길 찾기 API에서 조작 된 JSON 형식이 잘못되었습니다. R

httpGET()을 사용하여 Google 길 찾기 API를 호출합니다.

패키지 :

require(RCurl) 
require(rjson) 
require(gooJSON) 

코드는이 :

url = "http://maps.googleapis.com/maps/api/directions/json?origin=12.9673293,77.7173975&destination=12.9373613,77.700985&waypoints=optimize:true|12.9723379,77.7117611|12.9922162,77.715895|12.9629354,77.7122996&sensor=false" 
routeJSON = httpGET(url= url) 
routeList = fromJSON(routeJSON) 

내가 얻을 :

Error in fromJSON(routeJSON) : 
    unexpected escaped character '\]' at pos 18 

나는 파일로 JSON을 쓴 jsoneditoronline.com에 복사됩니다.

Error: Parse error on line 51: 
...   "points" : "[email protected][\]\ 
-----------------------^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined' 

validated by jsonlint 

을하지만 브라우저에 URL을 넣어 jsoneditoronline에 출력을 복사 할 때 그것은 작동 : 나는 얻었다.

왜 그런 일이 벌어지고 있는지, 어떻게 피할 수 있습니까?

편집 : 나는 gooJSON을했지만,지도 API를 V3를 지원하지 않는 것 같습니다. 나를 위해 좋은

> goomap(url) 
$Status 
$Status$code 
[1] 610 

$Status$request 
[1] "geocode" 

$Status$error_message 
[1] "The Geocoding API v2 has been turned down on September 9th, 2013. The Geocoding API v3 should be used now. Learn more at https://developers.google.com/maps/documentation/geocoding/" 
+0

. 지금 당장하고있어. – Dason

+0

물론의 코드를 사용하고있는 패키지를 추가해야합니다 – jackStinger

답변

1

다음 작품 : 잘못된 JSON 데이터가있는 경우

require(rjson) 
url = "http://maps.googleapis.com/maps/api/directions/json?origin=12.9673293,77.7173975&destination=12.9373613,77.700985&waypoints=optimize:true|12.9723379,77.7117611|12.9922162,77.715895|12.9629354,77.7122996&sensor=false" 
fromJSON(file=url) 

, 하나 (일반 문자로 이스케이프 문자를 치료하는

fromJSON(url, unexpected.escape="keep") 

를 호출 할 수 있습니다 예 : \]됩니다])

당신은 귀하의 게시물