22 Nov
2008

In Silverlight JSON in ein Objekt umwandeln

 

Einen JSON String mit Silverlight in ein Objekt zu konvertieren ist nicht so schwer und wird bei der Kommunikation vom Diensten des öfteren gebraucht.

Man muss nur den Typ des Objekts wissen. Dann kann man sich einen passenden DataContractJsonSerializier erzeugen. Den JSON-String nur noch in ein Byte-Array umwanden und dieses übergibt man mit einem MemoryStream dem Serializer. Fertig.

Hier nun der Code-Snippsel

using System;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Text;

namespace Newsletter.Administration.Helper
{
    public class Converter
    {
        public static TResult ConvertFromJson(string json)
        {
            using (var stream = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                var serializer = new DataContractJsonSerializer(typeof(TResult));
                return (TResult)serializer.ReadObject(stream);
            }
        }
    }
}

Mehr ist nicht nötig. Einfache Klassen sind kein Problem, Arrays/Listen auch nicht. Dass direkte konvertieren  dieser in eine ObservableCollection<> ist kein Aufwand.


Der Eintrag ist mir etwas Wert
 
Comments have been closed on this topic.