Crea un programa en Java que serializar y deserializar objetos en formato JSON. Para ello puede utilizar la clase DataContractJsonSerializer incluida en el espacio de nombres System.Runtime.Serialization.
DataContractJsonSerializer
System.Runtime.Serialization
Primero implementa una clase Persona con tres propiedades (Nombre, Edad y Ciudad). La clase Ciudad tendrá dos propiedades (Nombre y Población). Luego crea un objeto persona y utiliza el serializador del objeto DataContractJsonSerializer para guardar los datos en un archivo.json, más tarde, deserializa el archivo.json y imprímelo en pantalla. Recuerde preparar un método ToString() para imprimir la clase Persona.
ToString()
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Text; public class JSONDataContractJsonSerializer { static string nameFile = "out.json"; public static void Main(string[] args) { Persona person = new Persona() { Nombre = "Nauj", Edad = 26, Ciudad = new Ciudad() { Nombre = "Spain", Poblacion = 13456766 } }; Serializar(person); person = Deserializar(); Console.WriteLine(person.ToString()); } public static void Serializar(Persona p) { DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(Persona)); using (MemoryStream msObj = new MemoryStream()) { js.WriteObject(msObj, p); msObj.Position = 0; using (StreamReader sr = new StreamReader(msObj)) { string json = sr.ReadToEnd(); File.WriteAllText(nameFile, json); } } } public static Persona Deserializar() { DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(Persona)); Persona persona; string json = File.ReadAllText(nameFile); using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(json))) { persona = (Persona)js.ReadObject(ms); } return persona; } [DataContract] public class Persona { [DataMember] public string Nombre { get; set; } [DataMember] public int Edad { get; set; } [DataMember] public Ciudad Ciudad { get; set; } public override string ToString() { StringBuilder str = new StringBuilder(); str.AppendLine("Nombre: " + Nombre); str.AppendLine("Edad: " + Edad); str.AppendLine("Ciudad: " + Ciudad.Nombre); return str.ToString(); } } [DataContract] public class Ciudad { [DataMember] public string Nombre { get; set; } [DataMember] public int Poblacion { get; set; } } }
Haz clic aquí para ver la solución del ejercicio
Compártelo en tus redes sociales y desafía a tus amigos a resolver problemas de programación. Juntos, podemos aprender y crecer.
El codigo se ha copiado correctamente en el portapapeles.
Continua mejorando tus habilidades de programación en Java con nuestra selección de ejercicios prácticos de la lección. ¡Haz clic en Practicar y desafía tus conocimientos!
Crea un programa en Java para serializar y deserializar objetos en formato binario.
Crea un programa en Java para serializar y deserializar objetos en formato XML.
Crea un programa en Java que serializar y deserializar objetos en formato JSON.
Crea un programa en Java para serializar y deserializar objetos en formato JSON.
Practica con ejercicios en Java para serializar matrices o objetos de diferentes maneras. Aprende como serializar y deserializar luego la información.
Curso de programación gratuito con ejercicios y soluciones prácticas en C#. ¡Comienza a aprender ahora mismo!
Lleva tus lecciones de Exercises C# a todas partes con nuestra aplicación para Android. Descárgala ahora desde Google Play.
Utilizamos cookies propias y de terceros para mejorar nuestros servicios. Si continua navegando, consideramos que acepta su uso.