Xamarin 在变量中存储多个数据
Xamarin store multiple data in Variable
我有我的代码,我从 url 获取数据并用 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);
}
}
}
在这段代码中,我获取了所有数据并将它们打印到控制台中。
我有一个class,其中包含我要设置的变量
public class FetchedObjects
{
public string name { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
}
如何将我的 jArray 中的每个数据存储到这些变量中?我想从我的 ios 或 android 项目中访问这些。
编辑
我在 json 中有一些值为空。在创建列表时我该如何处理这些?我的应用程序崩溃了,它说:
Error setting value to 'valuename' on 'App.FetchedObjects'
试用代码:
List<FetchedObjects> list = jArray.ToObject<List<FetchedObjects>>();
编辑
在 pcl 库中创建 class:
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
我有我的代码,我从 url 获取数据并用 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);
}
}
}
在这段代码中,我获取了所有数据并将它们打印到控制台中。
我有一个class,其中包含我要设置的变量
public class FetchedObjects
{
public string name { get; set; }
public double latitude { get; set; }
public double longitude { get; set; }
}
如何将我的 jArray 中的每个数据存储到这些变量中?我想从我的 ios 或 android 项目中访问这些。
编辑 我在 json 中有一些值为空。在创建列表时我该如何处理这些?我的应用程序崩溃了,它说:
Error setting value to 'valuename' on 'App.FetchedObjects'
试用代码:
List<FetchedObjects> list = jArray.ToObject<List<FetchedObjects>>();
编辑
在 pcl 库中创建 class:
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