none
Serializar un Json Matriz ASP Entity RRS feed

  • Pregunta

  • Resulta que creé una API en ASP.net con la ayuda de visual studio 2017 y entity framework, todo lo hice con ayuda de las herramientas ya que tengo varias tablas relacionadas en SQL server.

    Hice mis apis y las puedo consumir localmente sin ningún problema, hice una aplicación siempre en asp con un crud con esa api y todo funciona bien.

    El problema es al subirlas a Azure me lanza el siguiente error:

    {"$id":"1","Message":"An error has occurred."}

    Busqué información sobre eso y de las miles de formas que habían no pude solucionarlo. Intenté consumir la api desde mi aplicación local siempre con la api en la nube y me sale otro error:

    To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type

    De este error encontré más información, según parece estoy tratando de leer un Objeto Json pero la api me devuelve un Json array y necesito deserializarlo o algo así. También eliminé todos mis datos de la base de datos dejando únicamente las tablas vacías y ahí no me da ese error, entonces según mi observación es que al momento de meterle datos a las tablas, por motivos de las referencias a las demás tablas se genera eso.

    Mi problema es que todas las soluciones a ese error que he encontrado en este foro y en muchos más, es que todos han creado sus clases modelos y controladores desde cero cada uno con su propio código y yo generé todo a través del visual estudio.

    Si alguien pudiera decirme cómo podría solucionarlo adaptado a lo que yo estoy trabajando o por lo menos orientarme qué archivos modificar, según la solución de otros debería hacer algo como lo siguiente:

    var objResponse1 = 
    JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(JsonStr);


    Otros así:

    var des = (MyClass)Newtonsoft.Json.JsonConvert.DeserializeObject(response, typeof(MyClass));return des.data.Count.ToString();

    En fin todos lo solucionan de forma parecida pero no entiendo dónde meter eso dentro de mi código ya que yo no creé mis clases por motivos de tiempo.



    miércoles, 12 de septiembre de 2018 18:58