Xamarin C#:如何将JSON加载到TableView中?
我已经能够弄清楚如何调用我的web服务器、加载JSON、循环并输出值。但是如何将这些数据填充到单元格中呢。例如,我想将返回的3年输出到一个表中。我该怎么做呢Xamarin C#:如何将JSON加载到TableView中?,xamarin,Xamarin,我已经能够弄清楚如何调用我的web服务器、加载JSON、循环并输出值。但是如何将这些数据填充到单元格中呢。例如,我想将返回的3年输出到一个表中。我该怎么做呢 async Task GetTowInfo() { loadingIndicator.StartAnimating (); HttpClient client = new HttpClient (); HttpResponseMessage response = await cli
async Task GetTowInfo()
{
loadingIndicator.StartAnimating ();
HttpClient client = new HttpClient ();
HttpResponseMessage response = await client.GetAsync ("myurl.com");
HttpContent content = response.Content;
var result = await content.ReadAsStringAsync ();
try
{
var parsed = JsonConvert.DeserializeObject<RootObject>(result);
foreach (var year in parsed.DATA.YEARMFG)
{
Console.WriteLine("Year: {0}", year);
}
}
catch (Exception e) {
Console.WriteLine (e);
}
loadingIndicator.StopAnimating ();
}
public class DATA
{
public List<int> YEARMFG { get; set; }
public List<string> MAKE { get; set; }
public List<string> MODEL { get; set; }
public List<string> ENGINE { get; set; }
public List<int> TOWLIMIT { get; set; }
public List<string> NOTE1 { get; set; }
public List<string> NOTE2 { get; set; }
}
public class RootObject
{
public int ROWCOUNT { get; set; }
public List<string> COLUMNS { get; set; }
public DATA DATA { get; set; }
}
<!----JSON------>
{
"ROWCOUNT": 3,
"COLUMNS": [
"YEARMFG",
"MAKE",
"MODEL",
"ENGINE",
"TOWLIMIT",
"NOTE1",
"NOTE2"
],
"DATA": {
"YEARMFG": [
2012,
2012,
2012
],
"MAKE": [
"Chevrolet/GMC",
"Chevrolet/GMC",
"Chevrolet/GMC"
],
"MODEL": [
"Avalanche 1500 4WD",
"Avalanche 1500 4WD",
"Avalanche 1500 4WD"
],
"ENGINE": [
"5.3L V-8",
"5.3L V-8",
"5.3L V-8"
],
"TOWLIMIT": [
5000,
5500,
8000
],
"NOTE1": [
"3.08 axle ratio",
"3.42 axle ratio",
"3.42 axle ratio"
],
"NOTE2": [
"",
"",
"Cooling or other accessory package required "
]
}
异步任务GetTowInfo()
{
loadingIndicator.StartAnimating();
HttpClient=newhttpclient();
httpresponsemessageresponse=await client.GetAsync(“myurl.com”);
HttpContent=response.content;
var result=await content.ReadAsStringAsync();
尝试
{
var parsed=JsonConvert.DeserializeObject(结果);
foreach(parsed.DATA.YEARMFG中的变量年)
{
Console.WriteLine(“年份:{0}”,年份);
}
}
捕获(例外e){
Console.WriteLine(e);
}
loadingIndicator.StopAnimating();
}
公共类数据
{
公共列表YEARMFG{get;set;}
公共列表生成{get;set;}
公共列表模型{get;set;}
公共列表引擎{get;set;}
公共列表限制{get;set;}
公共列表注释1{get;set;}
公共列表注释2{get;set;}
}
公共类根对象
{
公共int行计数{get;set;}
公共列表列{get;set;}
公共数据数据{get;set;}
}
{
“行数”:3,
“栏目”:[
“YEARMFG”,
“制造”,
“模型”,
“引擎”,
“拖航限制”,
“注1”,
“注2”
],
“数据”:{
“YEARMFG”:[
2012,
2012,
2012
],
“制造”:[
“雪佛兰/GMC”,
“雪佛兰/GMC”,
“雪佛兰/GMC”
],
“模型”:[
“雪崩1500四轮驱动”,
“雪崩1500四轮驱动”,
“雪崩1500四轮驱动”
],
“引擎”:[
“5.3L V-8”,
“5.3L V-8”,
“5.3L V-8”
],
“拖航限制”:[
5000,
5500,
8000
],
“注1”:[
“3.08轴比”,
“3.42轴比”,
“3.42轴比”
],
“注2”:[
"",
"",
“需要冷却或其他附件包”
]
}
}您知道如何创建TableViewController并用数据填充它吗?你一直在问这个问题question@Jason不,这就是我问的原因。我永远不知道如何用我的数据填充表。我问的是,一般来说,你知道如何使用TableView吗?你能让这些示例正常工作吗?你了解使用这些示例的基本知识吗?所以,给你一个完整的教程不是一个好方法。到目前为止,您提出的大多数问题都显示了解析数据时出现的问题,更不用说使用电视了。由于示例创建了一个带有字符串[]列表的表,所以我可以让示例正常工作。但是我的是JSON,你已经把JSON转换成了一个对象——如果你能让这个表使用字符串[],那么使用一个列表(比如你的make和Model列表)应该很简单。