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.

Enviar múltiples objetos JSON fusionados al servicio web y luego consumirlos individualmente.

¡Buenos días chicos!
Mi problema es simple y necesito una solución instantánea. En el cliente, se están creando tres objetos diferentes de Json (obj1, obj2, obj3) que necesito enviar al Backend C# mediante un servicio web. Según sé, solo se nos permite enviar un objeto único al servicio web, así que fusiono los tres objetos JSON independientes dentro de otro objeto que se muestra a continuación, denominado FinalObject. Ahora, después de enviar la solicitud ajax, ¿alguien puede decirme cómo puedo obtener estos tres objetos como objetos individuales, como Obj1, obj2, obj3? En el backend, tengo tres conjuntos de propiedades diferentes para estas tres clases de objetos. Estoy recibiendo el objeto llamado Object obj. Gracias, chicos.

Obj1 = {
‘AlertName’: inputs[“AlertName”].value,
‘SendtoAdmin’: ($(‘#fullAdminUsers’).is(‘:checked’) == true ? “Yes” : “No”),
‘SendtoEmployee’: ($(‘#employee’).is(‘:checked’) == true ? “Yes” : “No”),
‘SendtoManager’: ($(‘#manager’).is(‘:checked’) == true ? “Yes” : “No”),
‘SendtoOthers’: ($(‘#otherSendTo’).is(‘:checked’) == true ? “Yes” : “No”),
‘EmailSubject’: inputs[‘EmailSubject’].value,
‘CustomMessage’: inputs[‘CustomMessage’].value,
}
Obj2 = {
“EmployeeId”: id,
“EmployeeName”: empname,
“AlertGroupId”: IsallEmployees
}
Obj3 = {
newObject[key][“EventScope”] = EventScope,
newObject[key][“EventName”] = EventName,
newObject[key][“Eventtype”] = Eventtype,
}
FinalObject = {
‘AlertData’: Obj1,
‘AlertGroup’: Obj2,
‘ERemainder’: Obj3
}

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para recuperar los tres objetos individuales en el backend utilizando C#, deberás deserializar el objeto FinalObject en sus respectivas propiedades. Suponiendo que tienes clases configuradas para cada objeto, puedes utilizar un deserializador de JSON para hacer esto. Aquí hay un ejemplo de código para darte una idea:

    “`c#
    using System.Web.Script.Serialization; // Referencia requerida para el deserializador

    // Suponiendo que has definido clases para Obj1, Obj2 y Obj3
    public class Obj1
    {
    public string AlertName { get; set; }
    public string Send_to_Admin { get; set; }
    public string Send_to_Employee { get; set; }
    public string Send_to_Manager { get; set; }
    public string Send_to_Others { get; set; }
    public string EmailSubject { get; set; }
    public string CustomMessage { get; set; }
    }

    public class Obj2
    {
    public int EmployeeId { get; set; }
    public string Employee_Name { get; set; }
    public bool Alert_Group_Id { get; set; }
    }

    public class Obj3
    {
    public string EventScope { get; set; }
    public string EventName { get; set; }
    public string EventType { get; set; }
    }

    // Donde “jsonData” es la cadena JSON que enviaste a través de AJAX
    var serializer = new JavaScriptSerializer();
    var jsonObject = serializer.Deserialize(jsonData);

    // Suponiendo que “obj” es el objeto que recibiste en el backend
    var obj1 = jsonObject[“AlertData”].ToObject();
    var obj2 = jsonObject[“AlertGroup”].ToObject();
    var obj3 = jsonObject[“ERemainder”].ToObject();
    “`

    Esto debería permitirte recuperar los tres objetos individuales en el backend utilizando C#.

Comments are closed.