简单的JSON帮助程序请求 - webmatrix / razor

时间:2013-03-09 18:24:22

标签: razor webmatrix json webmatrix-2

我想使用谷歌地图显示页面上2个地点之间的距离。

所以我发现了如何编写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);

我可以使用@命令将每个结果放入页面吗?

谢谢,加文

1 个答案:

答案 0 :(得分: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语法时有点愚蠢),但似乎你使用括号(即“[”和“]”) )建议使用数组?

如果以这种方式访问​​数组,它可能如下所示:

@{
    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>

请告诉我这是否有用,我们可以从那里开始。