迭代JSON文档c#

本文关键字:文档 JSON 迭代 | 更新日期: 2023-09-27 17:51:18

我正在尝试创建一个简单的应用程序,从Google Maps API获取JSON文档并通过它进行迭代,显示路线,持续时间和距离的每一段。

我已经让它显示第一个腿,但我不知道如何使盒子重复。也许是foreach循环?我是新来的,我真的不确定。

var from = origin.Text;
var to = destination.Text;
var requesturl = @"http://maps.googleapis.com/maps/api/directions/json?origin="
        + from + "&alternatives=false&units=imperial&destination="
        + to + "&sensor=false";
string content = file_get_contents(requesturl);
JObject o = JObject.Parse(content);
string distance = (string)o.SelectToken("routes[0].legs[0].distance.text");
string instructions =
        (string) o.SelectToken("routes[0].legs[0].steps[0].html_instructions");
txtDistance.Text = distance;
TextBox1.Text = instructions;

迭代JSON文档c#

这个答案:将JSON反序列化为c#动态对象?有一些类的代码,可以将JSON反序列化为动态c#对象。听起来很适合你的需要。

您可以反序列化整个JSON响应并使用对象遍历结果。这将比硬编码或计算字符串路径更容易维护。

您可以查看Google Directions c# wrapper了解详细信息

当您有一个示例json文档时,您可以使用http://json2csharp.com/创建相关契约。您可以随后使用带有类型化属性的对象,并轻松遍历相关字段。