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.

Print | posted on Saturday, November 22, 2008 3:11 PM

Der Eintrag ist mir etwas Wert
Kick Mich! kick it on dotnet-kicks.de    kick it on dotnetkicks.com    Delicious Delicious
Comments have been closed on this topic.