while unexpected newtonsoft encountered convert c# android json xamarin.android xamarin

c# - newtonsoft - unexpected character encountered while parsing value path workflow file line 1 position 17



Xamarin Android deserializa el archivo json local (2)

Tengo un deserializador JSON que funciona, pero es un archivo JSON de una URL. ¿Cómo puedo recrear esto y hacerlo funcionar con un archivo JSON local? El archivo está en la raíz de mi aplicación, al lado de mi MainActivity.

Este es el código de trabajo de la 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); } }


var response = File.ReadAllText("myfile.json"); List<Question> questions = JsonConvert.DeserializeObject<List<Question>>(response);


Lo hice funcionar ... Tuve que poner mi archivo .json en la carpeta de Contenidos, establecer la Acción de compilación en AndroidAsset y usar el siguiente código:

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); } }