如何读取本地JSON文件并显示

如何读取本地JSON文件并显示

问题描述:

新手在这里,我找不到Xamarin Forms上的任何示例读取本地json文件并显示它。我需要做一个本地测试来读取本地Json文件。
如何读取本地JSON文件并显示

1)我在哪里保存用于阅读的json文件?在Android和iOS项目中还是仅在PCL项目中?

2)如何读取文件?

这里的代码,但它不完整,因为我不知道如何读取文件。

using (var reader = new System.IO.StreamReader(stream)) 
{ 


var json = reader.ReadToEnd(); 

var rootobject = JsonConvert.DeserializeObject<Rootobject>(json); 

whateverArray = rootobject.Whatever; 

} 

代码错过Path和其他需要的代码。

非常感谢您的帮助。

谢谢

+0

https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/files/ 确实提供了一个很好的概述。 – woelliJ

+0

我之前也读过这个样本。这不是正常的Xaml和xaml.cs应用程序。我是新来的,需要一些帮助,看看它是如何工作的。 var assembly = typeof(LoadResourceText).GetTypeInfo()。Assembly; Stream stream = assembly.GetManifestResourceStream(“WorkingWithFiles.PCLTextResource.txt”);这是否适用于Andorid和iOS? – MilkBottle

+0

这取决于你的文件的构建动作是什么。如果是嵌入式资源,你可以像这样读取({assemblyName}。{foldersSeparatedWithDots}。{fileName}是我认为读取的字符串的结构) – woelliJ

您可以直接在PCL中添加您的JSON文件。然后换生成操作嵌入的资源

现在就可以读取JSON数据:

var assembly = typeof("<ContentPageName>").GetTypeInfo().Assembly; 
     Stream stream = assembly.GetManifestResourceStream("Your_File.json"); 

    using (var reader = new System.IO.StreamReader(stream)) 
     { 

      var json = reader.ReadToEnd(); 
      var data= JsonConvert.DeserializeObject<Model>(json); 
     } 
+0

这是什么LoadResourceText?我没有这个。 – MilkBottle

+0

这是您的contentPage名称,想法是先获取程序集信息 – Renjith

+0

Stream stream = assembly.GetManifestResourceStream(“Your_File.json”); - 这一行对我而言为空。任何想法为什么? –