Я пытаюсь десериализовать JSON в приложении Xamarin. Я много читал о, но все еще есть проблемы, так что, может быть, здесь кто-то может помочь:Deserialize JSON с RESTSharp C#
Мой ответ JSON-то вроде этого:
{
"Events":[
{
"id":7,
"name":"show",
"datefrom":"2012-01-01",
"timeto":"12:00:00",
"price":"3",
"imagen":"null",
"desc":"rock band playing",
"info":"Info about tickets",
"user":1,
"place":9,
"dateto":"2013-02-02",
"timeto":"12:30:00",
"Eventcategories":[]
},
{"id":2, name:...
Как я прочитал, я создал два класса, один для объекта (Event) и другие для ответа JSON (EventResponse) Второй имеет только список событий:
public class EventResponse
{
public ObservableCollection<Event> Events { get; set; }
public EventResponse(){
}
}
}
и Event класс имеет все поля, возвращаемые в формате JSON:
private int _id;
public int id {
get { return _id; }
set {
_id = value;
OnPropertyChanged();
}
}
private string _nombre;
public string nombre {
get { return _nombre; }
set {
if (value.Equals (_nombre, StringComparison.Ordinal))
return;
_nombre = value;
OnPropertyChanged();
}
}...
После этого я хочу, чтобы мое приложение разбирало этот JSON, но единственное, что я могу получить, это строка, содержащая содержимое JSON.
var client = new RestClient("myip/api/events");
var request = new RestRequest (Method.GET);
var asyncHandle = client.ExecuteAsync<EventResponse>(request, response => {
//Here I see the json result
string jsonString=response.Content;
//The same
Console.WriteLine(response.Content);
//Nothing is shown here
Console.WriteLine(response.Data.Events[0].id);
});
¿Может ли кто-нибудь дать мне некоторое представление о том, как я могу увидеть результат json? Я думаю, что следую соответствующим шагам, но после многих часов я ничего не могу достичь. Спасибо
Это была проблема. Я делал модели вручную, я сделал это снова с помощью этого инструмента: http://json2csharp.com/, и теперь я могу разобрать его без каких-либо проблем. – ppardoz
Эти инструменты тоже меня спасли. Отформатируйте C# справа, и это сработает! Благодарю. – Josh