2013-03-09 1 views
2

Google지도를 사용하여 페이지의 2 개 장소 사이의 거리를 표시하고 싶습니다.간단한 JSON 도우미 요청 - webmatrix/razor

URL을 작성하는 방법을 알아 냈지만 응답을 디코딩하고 내 웹 사이트에 표시하는 방법을 모르십니까? 여기 내가 지금까지 무엇을 가지고 :

string distancematrix = "http://maps.googleapis.com/maps/api/distancematrix/json?  origins=34746+Florida&destinations=Universal+Studios+Florida|Orlando+Internation+Airport&mode=driving&units=imperial&sensor=false"; 
Json.Write(distancematrix, Response.ToString); 

@ 명령을 사용하여 각 결과를 페이지에 넣을 수 있습니까?

감사합니다, 개빈

+0

예, "@"면도기 구문을 사용할 수 있습니다. – VoidKing

+0

또한 질문을 올바르게 이해하고 있다면 "json.Decode()"를 사용하여 json을 디코딩 할 수 있어야합니다. 네가 묻고있는거야? – VoidKing

+0

여기에 지금까지 작성된 코드가 있지만 작동하지 않습니다. 나는 결과를 끌어낼 수 있기를 원한다. – Gavin5511

답변

0

이 대신 외부 사이트의 외부 파일에서 데이터를 가져옵니다 (간체) 예를 들어 cshtml 페이지이지만, 그럼에도 불구하고, 당신을 도울 수 있습니다

@{ 
    var json = File.ReadAllText(Server.MapPath("~/TestJSON.json")); 
    var data = Json.Decode(json); 
} 

<html> 
    <head> 
    </head> 
    <body> 
     <p> 
      @data.destination_addresses <br/> 
      @data.origin_addresses <br/> 
      @data.rows <br/> 
      @data.status 
     </p> 
    </body> 
</html> 

내가 확실하지 않다. (JSON 구문을 볼 때 익숙하지 않은 방식으로 작성된 JSON 구문에 관해서는 다소 노버시하기 때문에), 대괄호 (예 : "["및 "]")를 사용하면 배열? 당신이 배열이 방법에 액세스하는 경우

,이 같은 것을 볼 수 있습니다

@{ 
    var json = File.ReadAllText(Server.MapPath("~/TestJSON.json")); 
    var data = Json.Decode(json); 
    var i = 0; 
} 

<html> 
    <head> 
    </head> 
    <body> 
     <p> 
      @{ 
       while(i < data.destination_addresses.Length) 
       { 
        data.destination_addresses[i]; <br/> 
        i++; 
       } 
      } 
     </p> 
    </body> 
</html> 

그냥이 도움이되지 않는 경우 알려 우리는 거기에서 갈 수 있습니다.

+0

@ Gavin5511 JSON 데이터 경로는 다음과 같이 보일 수 있습니다. var json = File.ReadAllText ("http://maps.googleapis.com/maps/api/distancematrix/json? originins = 34746 + Florida & destinations = Universal + Studios + Florida | Orlando + Internation + Airport & mode = driving & units = imperial & sensor = false ")'그러나 나는 결코 JSON 데이터에 대한 다른 URL로 이동하려하지 않았기 때문에 확실하지 않습니다. 또한이 메서드는 "File.ReadAllText"라고 말하고 완전히 외부 URL을 기대하지 않을 수도 있습니다. 확실하지 않습니다 ... – VoidKing