我正在测试Xamarin Android应用程序,它需要我解析JSON数据。解析简单的JSON数据很容易,但是这个JSON数据看起来有点太复杂了。
我想做什么:
基于Latitude
和Longitude
,我想提取特定的JSON对象。
以下是数据:https://pastebin.com/raw/7QDh2uZH
到目前为止我所拥有的:
private async Task JsonFetcher()
{
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://pastebin.com");
var result = await client.GetAsync("/raw/7QDh2uZH");
string resultContent = await result.Content.ReadAsStringAsync();
try
{
dynamic obj2 = Newtonsoft.Json.Linq.JObject.Parse(resultContent);
}
catch (Exception GettingError)
{
throw;
}
}
}
我现在所做的只是想要JSON数据,我可以通过以下方式访问它来获得一条记录的值:obj2.meta
(将给出meta的值)。
我可以做些什么来提取特定记录?任何想法或建议都会很棒。
答案 0 :(得分:1)
您必须针对您的特定目的进行优化,但如果您只是想找到您正在寻找的具有纬度和经度的节点,那么这就行了。
for( int x = 0; x < obj2.data.Count; x++)
{
var y = obj2.data[x].Location.Latitude;
var z = obj2.data[x].Location.Longitude;
if (y.Value == desiredLat && z.Value == desiredLong)
{
return obj2.data[x];
}
}