es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo serializar un objeto json para un objeto hijo

Tengo la siguiente clase con el encabezado y la clase hija. Me gustaría saber cómo serializar el objeto hijo usando Newtonsoft. He probado el objeto hijo de abajo, pero solo devuelve un registro, mientras que el objeto hijo contiene 4 registros.

public class StyleBomLeatherSetupHeader 
{
    public int StyleStockID { get; set; }
    public List<stylebomleathersetup> Details { get; set; }
}

public class StyleBomLeatherSetup
{
    public int StyleBomLeatherID { get; set; }
    public int StyleStockID { get; set; }
    public int? TypeID { get; set; }
    public int? PartNoID { get; set; }
    public int? ComponentID { get; set; }
    public int? LeatherID { get; set; }
    public int? ColorID { get; set; }
    public decimal? Norms { get; set; }
    public decimal? Wastage { get; set; }
    public decimal? TotalNorms { get; set; }
}

Serializar objeto json:

“`csharp
styleBomLeatherSetupHeader.StyleStockID = styleStockSetup.StyleStockID;
styleBomLeatherSetupHeader.Details = styleBomLeatherSetups;
protected StyleBomLeatherSetupHeader styleBomLeatherSetupHeader { get; set; } = new StyleBomLeatherSetupHeader();

string json = JsonConvert.SerializeObject(styleBomLeatherSetupHeader);
“`

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para serializar los objetos secundarios en la clase ‘StyleBomLeatherSetupHeader’ utilizando Newtonsoft JSON, necesitas utilizar el atributo ‘JsonProperty’ para establecer el nombre de la propiedad del objeto secundario en la cadena JSON.

    Aquí tienes un ejemplo:

    public class StyleBomLeatherSetupHeader
    {
        public int StyleStockID { get; set; }
        [JsonProperty("Details")]
        public List<stylebomleathersetup> ChildObjects { get; set; } // utiliza el atributo JsonProperty para establecer el nombre de la propiedad en la cadena JSON
    }
    
    public class StyleBomLeatherSetup
    {
        // propiedades
    }
    
    // ejemplo de uso
    StyleBomLeatherSetupHeader styleBomLeatherSetupHeader = new StyleBomLeatherSetupHeader();
    styleBomLeatherSetupHeader.StyleStockID = 1;
    styleBomLeatherSetupHeader.ChildObjects = new List<stylebomleathersetup>()
    {
       // añade aquí los objetos secundarios
    };
    
    string json = JsonConvert.SerializeObject(styleBomLeatherSetupHeader);
    

    En este ejemplo, el atributo JsonProperty se utiliza para establecer el nombre de la propiedad ChildObjects como “Details” en la cadena JSON. De esta manera, cuando serialices el objeto StyleBomLeatherSetupHeader, los objetos secundarios se incluirán en la cadena JSON bajo la propiedad “Details” y se incluirán todos los objetos secundarios.

    ¡Espero que esto te ayude!

Comments are closed.