Xamarin Android反序列化本地json文件

Tom*_*pee 5 c# android json xamarin.android xamarin

我有一个工作的JSON反序列化器,但这是一个来自URL的JSON文件.如何重新创建它并使其与本地JSON文件一起使用?该文件位于我的应用程序的Root中,位于MainActivity旁边.

这是来自URL的工作代码:

var client = new WebClient();
var response = client.DownloadString(new Uri("http://www.mywebsite.nl/form.json"));

List<Question> questions = JsonConvert.DeserializeObject<List<Question>>(response);

foreach(Question question in questions)
{

    if (question.type == "textField") {

        var editText  = new EditText (this);
        editText.Text = "This is question: " + question.id + ".";
        editText.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent,ViewGroup.LayoutParams.WrapContent);
        layout.AddView (editText);

    }
}
Run Code Online (Sandbox Code Playgroud)

Tom*_*pee 6

我得到它的工作..不得不把我的.json文件放在Assets文件夹中,将Build Action设置为AndroidAsset并使用下一个代码:

string response;

StreamReader strm = new StreamReader (Assets.Open ("form.json"));
response = strm.ReadToEnd ();

List<Vraag> vragen = JsonConvert.DeserializeObject<List<Vraag>>(response);

foreach(Vraag vraag in vragen)
{
    if (vraag.type == "textField") {
        var editText  = new EditText (this);
        editText.Text = "Dit is vraag: " + vraag.id + ".";
        editText.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent,ViewGroup.LayoutParams.WrapContent);
        layout.AddView (editText);
    }
}
Run Code Online (Sandbox Code Playgroud)