views:

443

answers:

2

Hi guys,

I've read lots of tutorials on how to deserialize a JSON object to an object of a particular using DataContractJsonSerializer. However, I'd like to deserialize my object to a Dictionary consisting of either Strings, Arrays or Dictionaries, such as System.Json does with SilverLight when I say JsonObject.Parse(myJSONstring).

Is there an equivalent to System.Json that I can use in my WPF project?

(just a short background: I'm fetching JSON objects that have way to much info, and I just want to use a little bit to fill out a String array)

Cheers

Nik

+1  A: 

Take a look at the C# section (scoll to the bottom) of http://json.org/, they have several implementations of serializers and parsers that should help.

Rory
+1  A: 

I successfully use JayRock: http://jayrock.berlios.de/

public class JayRockMarshaller : IMarshaller
{
    public ICollection Read(string text)
    {
        return (ICollection)new ImportContext().Import(new JsonTextReader(new StringReader(text)));
    }

    public string Write(ICollection objectToMarshal)
    {
        var writer = new StringWriter();
        new ExportContext().Export(objectToMarshal, new JsonTextWriter(writer));
        return writer.ToString();
    }
}

Works for both Dictionaries and Lists like a dream.

Grzenio