2013-10-07 4 views
0

Four Square API 회장 검색의 결과를 간단한 테이블로 얻으려고합니다. 이 요청을 사용하여 here을 작성하고 결과를 .json 결말이있는 파일로 저장합니다. Ive는 여러 온라인 변환기를 사용하여 CSV/XML로 변경하여 Excel에서 읽을 수 있도록 시도했습니다. 그러나, 나는 실제로 결과를 산출하기 위하여 단 하나 웹 사이트를 얻고, 유감스럽게도 책임진다. 이 쿼리의 결과를 Excel 테이블에보다 쉽게 ​​가져올 수있는 방법이 있습니까?Fourstquare 데이터를 엑셀로

+0

결과는 어떻게됩니까? json 응답은 얼마나 복잡한가요? 어쩌면 여기에 Codo의 답변을 시도하십시오 : http://stackoverflow.com/questions/5773683/excel-vba-parsed-json-object-loop –

+0

위의 json 결과를 [this] (http : //www.utilities -online.info/xmltojson/#.UlPFRVBJPV4) 웹 사이트를 열고 결과 XML을 저장 한 다음 Chrome에로드합니다. 1 행의 5 번째 줄에 다음 오류가 표시됩니다. 문서 끝에있는 추가 콘텐츠 _ – dojogeorge

+0

API 링크 포인트 로그인 페이지로 가면 아무 것도 볼 수 없습니다. 지금까지 귀하의 질문은 너무 모호해서 제안 사항을 제시하지 못했습니다. json 결과를 질문에 포함해야합니다 (또는 그것이 너무 크고 그 대표 부분 인 경우) –

답변

0

여기 응답에서 개별 요소를 추출하는 데 사용할 수있는 방법 중 하나가 있습니다. 그것은 각 속성에 대한 스크립트 컨트롤에서 "접근 자"기능을 만들 필요가 있음을 의미합니다.

Sub TestIt() 

    Dim json As String, x As Long, num As Long 

    json = CreateObject("scripting.filesystemobject"). _ 
      opentextfile("C:\_Stuff\test\json.txt").readall() 

    'Debug.Print json 

    Dim s As Object, jsObj As Object 
    Set s = CreateObject("ScriptControl") 
    s.Language = "JScript" 

    s.ExecuteStatement "var obj = null;" & vbCrLf & _ 
     "function JSON(s){obj=eval('('+s+')');}" & vbCrLf & _ 
     "function numVenues(){return obj.response.venues.length;}" & vbCrLf & _ 
     "function venueId(i){return obj.response.venues[i].id;}" 

    s.Run "JSON", json 

    num = s.Run("numVenues") 'how many venues 
    Debug.Print num 
    For x = 0 To num - 1 
     Debug.Print s.Run("venueId", x) 
    Next x 


End Sub 
+0

더 많은 OO 접근법. 그냥 array.item (0)이 링크를 참조하십시오 (http://stackoverflow.com/questions/5773683/excel-vba-parsed-json-object-loop/19359035#19359035) – ozmike

관련 문제