我正在尝试使用REST-JSON响应生成的地图注释制作地图。我成功制作了一个,JSON响应包含两个对象。为什么只有一个打印出来?
我正在使用RestSharp和Xamarin.iOS。
这是原始回复的Gist-clone
将数据抓取到以后的函数在我们的地图上进行地图注释:
Action getAllMarkers = () => {
var client = new RestClient("http://www.example.com/");
var request = new RestRequest(String.Format("api/?function=searchByName&key=&name=Sundsvall"));
client.ExecuteAsync (request, response => {
JsonValue data = JsonValue.Parse(response.Content);
for (var i = 0; i < data.Count; i++){
Double lat = data["result"][i]["lat"];
Double lng = data["result"][i]["lng"];
String name = data["result"][i]["title"];
String adress = data["result"][i]["adress"];
var store = new BasicMapAnnotation (new CLLocationCoordinate2D(lat, lng), name, adress);
Console.WriteLine(response.Content);
InvokeOnMainThread ( () => {
// manipulate UI controls
map.AddAnnotation(store);
});
}
});
};
getAllMarkers();
答案 0 :(得分:1)
data.Count
为1,因为json中有一个顶级“结果”节点。请改用data["result"].Count
。
答案 1 :(得分:1)
您的result
是使用其他数据的主阵列:data["result"].Count
而不是data.Count