2017-06-16 89 views
0

新手在這裏,我找不到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

回答

1

您可以直接在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」); - 這一行對我而言爲空。任何想法爲什麼? –

相關問題