Serialización y deserialización de arreglos

  • De forma similar a la sección anterior
  • Podemos convertir una cadena JSON a un arreglo
  • Solo debemos reemplazar el nombre de clase original por List<NombreClase>

Ejemplo

string jsonString = @"""{""webinfos"":[{""webname"":""FoxDevelop"",""website"":""foxdevelop.com"",""age"":4,
""students"":[{""name"":""Martín""},{""name"":""Daniel""}]},{""webname"":""FoxDevelop1"",""website"":""foxdevelop.com1"",
""age"":6,""students"":[{""name"":""Alejandro""},{""name"":""Lucas""}]}]}""";

StringReader sr = new StringReader(jsonString);
JsonReader jr = new JsonReader(sr);
List<WebInfo> infoList = new JsonSerializer().Deserialize(jr, typeof(List<WebInfo>)) as List<WebInfo>;Lenguaje del código: PHP (php)

Notas

  1. Mantener estructura de código, nombres de variables, comillas escapadas y saltos de línea, solo sustituir el texto objetivo
  2. No modificar el código de deserialización posterior

① Serializar List a cadena de arreglo JSON

// Construir colección List
List<WebInfo> webList = new List<WebInfo>()
{
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Martín"}, new Person{name="Daniel"} }
    },
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop1",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Alejandro"}, new Person{name="Lucas"} }
    },
    new WebInfo()
    {
        age = 4,
        webname = "FoxDevelop2",
        website = "foxdevelop.com",
        students = new Person[] { new Person{name="Pablo"}, new Person{name="Javier"} }
    }
};

// Serialización: Objeto List → cadena arreglo JSON
StringWriter sw = new StringWriter();
JsonWriter writer = new JsonWriter(sw);
new JsonSerializer().Serialize(writer, webList);
string jsonArrStr = sw.GetStringBuilder().ToString();Lenguaje del código: PHP (php)

② Deserializar cadena de arreglo JSON a List

string jsonString = @"[{"webname":"FoxDevelop","website":"foxdevelop.com","age":4,
"students":[{"name":"Martín"},{"name":"Daniel"}]},{"webname":"FoxDevelop1","website":"foxdevelop.com",
"age":4,"students":[{"name":"Alejandro"},{"name":"Lucas"}]},{"webname":"FoxDevelop2","website":"foxdevelop.com",
"age":4,"students":[{"name":"Pablo"},{"name":"Javier"}]}]";

StringReader sr = new StringReader(jsonString);
JsonReader jr = new JsonTextReader(sr);
List<WebInfo> dataList = new JsonSerializer().Deserialize(jr, typeof(List<WebInfo>)) as List<WebInfo>;Lenguaje del código: PHP (php)

Serialización y deserialización de arreglos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *