Je suis nouveau à l'architecture Silverlight et .net. Je travaille sur un projet Windows Phone 7. où je reçois des données au format JSON du serveur. Je reçois les données du serveur dans le rappel de l'interface webClient. Cependant, je ne suis pas capable de sérialiser les données dans les objets C#. J'utilise le code suivantComplexe deSerializing json wp7
public void GetData_Completed(object sender, DownloadStringCompletedEventArgs e)
{
byte[] encodedString = Encoding.UTF8.GetBytes(e.Result);
//// Put the byte array into a stream and rewind it to the beginning
MemoryStream ms = new MemoryStream(encodedString);
ms.Flush();
ms.Position = 0;
// convert json result to model
Stream stream = ms;
DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(SchedulesResults));
SchedulesResults myResults =
(SchedulesResults)dataContractJsonSerializer.ReadObject(stream);
var result = myResults;
}
le format de données que je suis censé faire est comme ça
schedules: [
{
id: 2897
progress: -9
state: complete
starts_at: 1315267800
primary_topic: {
id: 13
}
secondary_topic: {
id: 9
}
scores: [
{
schedule_id: 2897
score: 0
topic_id: 13
}
{
schedule_id: 2897
score: 4
topic_id: 9
}
]
}
.
.
.
et c'est la classe que j'utilise pour dé serilaize
public class SchedulesResults
{
/// <summary>
/// Gets or sets the results.
/// </summary>
/// <value>The results.</value>
public Schedules[] results { get; set; }
}
public class Schedules
{
int id { get; set; }
int progress { get; set; }
string state { get; set; }
DateTime starts_at { get; set; }
primary_topic primary_topic_ID { get; set; }
secondry_topic secondary_topic_ID { get; set; }
Scores[] scores { get; set; }
}
public class primary_topic
{
int id { get; set; }
}
public class secondry_topic
{
int id { get; set; }
}
public class Scores
{
int schedule_id{ get; set; }
int score { get; set; }
int topic_id { get; set; }
}
mais de sérialisation je reçois null dans la valeur. s'il vous plaît dites-moi où je pourrais aller mal.
C'est le type de données que je reçois, il ressemble à du serveur
{"schedules":[{"id":3499,"progress":-9,"state":"complete","starts_at":1317945600,"primary_topic":{"id":6},"secondary_topic":{"id":11},"scores":[{"schedule_id":3499,"score":2,"topic_id":6},{"schedule_id":3499,"score":3,"topic_id":11}]},
Cela pourrait aider à la création de poco: http: //json2csharp.com/ –
Merci beaucoup Derek ... . ça a marché. – Avijeet