2009-11-12 9 views
4

Existe-t-il un analyseur facile/élégant pour traiter JSON en C#? Pourquoi ne pas sérialiser/désérialiser réellement les objets C#?Comment gérer JSON en C#?

+1

Comme un additif à cette question, quelqu'un peut-il indiquer si 'System.Web.Script.Serialization.JavaScriptSerializer' est applicable à cette question (http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(loband).aspx)? Je suis très curieux. –

Répondre

8

JSON.Net est une très bonne bibliothèque

+0

JSON.Net tout le chemin, rend le travail avec json tellement plus facile – RC1140

1

Il y a la classe DataContractJsonSerializer.

Deserialize:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyObject)); 
Stream s = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(json_string)); 
MyObject obj = ser.ReadObject(s) as MyObject; 

sérialisation:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyObject)); 
Stream s = new MemoryStream(); 
MyObject obj = new MyObject { .. set properties .. }; 
ser.WriteObject(s, obj); 
s.Seek(SeekOrigin.Begin); 
var reader = new StreamReader(s); 
string json_string = reader.ReadToEnd(); 
3
var jss = new JavaScriptSerializer(); 
var data = jss.Deserialize<dynamic>(jsonString); 

Ne pas oublier de faire référence à "System.Web.Extensions"