Serialização e desserialização

Vamos revisar a serialização da seção anterior: converte um objeto de entidade em uma string JSON.

Serialização

WebInfo webInfo = new WebInfo();
webInfo.age = 4;
webInfo.webname = "FoxDevelop";
webInfo.website = "foxdevelop.com";
webInfo.students = new Person[] { new Person { name = "Tom" }, new Person { name = "Jim" } };
// Converte o objeto webinfo para string JSON
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonWriter(sw);
new JsonSerializer().Serialize(writer, webInfo);
string json = sw.GetStringBuilder().ToString();Code language: JavaScript (javascript)
Resultado JSON gerado
{"webname":"FoxDevelop","website":"foxdevelop.com","age":4,"students":[{"name":"Zhang San"},{"name":"Li Si"}]}Code language: JSON / JSON with Comments (json)

Desserialização

Converter string JSON para objeto de entidade

Método 1 (escrita com Reader de baixo nível)

WebInfo model = new JsonSerializer()
    .Deserialize(new JsonTextReader(new StringReader(json)), typeof(WebInfo)) as WebInfo;Code language: JavaScript (javascript)

Método 2 (sintaxe genérica concisa, Newtonsoft.Json)

WebInfo model = JavaScriptConvert.DeserializeObject<WebInfo>(json);Code language: HTML, XML (xml)

new JsonSerializer().Deserialize(new JsonTextReader(new StringReader(jsonString)), typeof(NomeDaClasse) as NomeDaClasse

Com esses métodos conseguimos desserializar um JSON em objeto de entidade.

Também pode ser usado dessa forma

JavaScriptConvert.DeserializeObject<NodeInfo>(jsonText)

Serialização e desserialização

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *