我有我的代码,我从网址获取数据并使用json解析该数据。
public async void GetItems()
{
HttpResponseMessage response = new HttpResponseMessage();
HttpClient httpclient = new HttpClient();
Uri uri = new Uri("URL");
response = await httpclient.GetAsync(uri);
if (response.IsSuccessStatusCode)
{
var JsonContent = await response.Content.ReadAsStringAsync();
JArray jArray = JArray.Parse(JsonContent);
foreach (var data in jArray)
{
var latitude = data["latitude"];
Console.WriteLine(latitude);
}
}
}
在此代码中,我获取了所有数据并将其打印到控制台中。
我有一个包含我想设置的变量的类
public class FetchedObjects
{
public string name { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
}
如何将jArray中的每个数据存储到这些变量中?我想从我的ios或android项目访问这些。
修改 我在json中有一些值,它们是null。在创建列表时如何处理这些?我的应用程序崩溃,它说:
将值设置为' valuename'在' App.FetchedObjects'
答案 0 :(得分:1)
尝试代码:
List<FetchedObjects> list = jArray.ToObject<List<FetchedObjects>>();
修改强>
在pcl库中创建类:
public class YourClass
{
public async Task<List<FetchedObjects>> GetItems()
{
....
if(jArray != null)
{
List<FetchedObjects> list = jArray.ToObject<List<FetchedObjects>>();
return list;
}
else
{
return null;
}
...
}
在你的ios和android项目中添加对pcl库的引用,并使用class YourClass