【发布时间】:2021-05-10 15:42:39
【问题描述】:
您好,我有一个大的 JSON 文件,代表国家及其总病例数和新冠病毒死亡人数。我要做的就是将 JSON 的数据显示到我的 AboutPage 中。我尝试了各种方法,但没有人为我工作。知道我应该如何工作吗?
我给你一小部分 JSON
[{
"regionData": [
{
"country": "World",
"totalCases": 157341642,
"newCases": 651328,
"totalDeaths": 3278509,
"newDeaths": 9126,
"totalRecovered": 135480211,
"activeCases": 18582922,
"seriousCritical": 108879,
"casesPerMil": 20185,
"deathsPerMil": 420.6,
"totalTests": 0,
"testsPerMil": 0,
"population": 0
},
{
"country": "India",
"totalCases": 21886556,
"newCases": 401271,
"totalDeaths": 238265,
"newDeaths": 4194,
"totalRecovered": 17917013,
"activeCases": 3731278,
"seriousCritical": 8944,
"casesPerMil": 15729,
"deathsPerMil": 171,
"totalTests": 298601699,
"testsPerMil": 214596,
"population": 1391457000
}, ]
}]
var assembly = typeof(AboutPage).GetTypeInfo().Assembly; 流流 = assembly.GetManifestResourceStream("MaybeThisOne.testmodel.json");
using (var reader = new System.IO.StreamReader(stream))
{
var json = reader.ReadToEnd();
List<TestModel> mylist = JsonConvert.DeserializeObject<List<TestModel>>(json);
myrootobject = new ObservableCollection<TestModel>(mylist);
MyListView.ItemsSource = myrootobject;
JsonConvert.DeserializeObject 在这部分我有错误说不能像方法一样使用。我试图删除括号,但没有任何反应
更新:
我执行了建议的步骤,1. 使用 json2csharp.com 创建 C# 模型,2. 使用 newtonsoft 反序列化。正在构建并且应用程序启动,但是当我尝试进入创建的页面时,它会终止应用程序而没有任何错误消息。
更新 2:
我开始了一个新项目并按照上述步骤操作。我得到的唯一错误是关于 Page3。我必须从 jsonarray 文件夹在 shell 中调用它。我该怎么做?
e.x <ShellContent Title="About" Icon="icon_about.png" Route="AboutPage" ContentTemplate="{DataTemplate local:AboutPage}" />
请你告诉我应该如何从 jsonarray 文件夹中调用 Page3?提前谢谢!!!
更新 3
我从头开始了这个项目,它部分工作。唯一的问题是它没有显示所有的绑定字段。
有什么想法吗?
【问题讨论】:
-
1.使用 json2csharp.com 创建 C# 模型,2. 使用 newtonsoft 反序列化,3. 使用 CollectionView 或其他 UI 显示
-
是的,我做了以上所有事情。
-
请不要在 cmets 中填充代码,edit 您的问题并正确格式化以使其可读。如果你这样做了,但它不起作用,你需要描述问题。仅仅说“没有人为我工作”并不能很好地描述您遇到的问题。您是否收到错误或异常?您是否尝试过调试代码以确定问题出在哪里?请阅读How to Ask 以获得撰写主题问题的指导。
-
对不起,我在原始问题中发布了我用来反序列化的代码。
标签: json visual-studio listview xamarin.forms display