JSON에서 사전을 역 직렬화 할 수 없습니다.

데이비드 TG

이 수업이 있습니다.

class SoporteFile 
    {
        public Evento[] eventos { get; set; }
        public Programacion[] programaciones { get; set; }
        public static Dictionary<int, object[]> soportes { get; set; }
    }

그런 다음 Soporte가 있습니다.

 class Soporte
    {
        public Aviso[] avisos { get; set; }
        public Placa[] placas { get; set; }
        public Portada[] portadas { get; set; }
        public Efemeride[] efemerides { get; set; }
        public Comunicado[] comunicados { get; set; }
    }

SoporteFile의 Dictionary 클래스는 Soporte 클래스와 일치해야합니다. soportes [0]에는 Aviso 배열이 있어야하고, soportes [1]에는 Placa 배열이 있어야합니다. Json.NET으로 구문 분석 할 때 Dictionary soportes와 Soporte 클래스간에 관계가 없더라도 오류가 발생하지 않는 것 같습니다. 파싱을 잘하기 위해서 (그 것인지 모르겠습니다),하지만 다음과 같이 Dictionary soportes에 접근하려고 할 때 (먼저 deserialize) :

 SoporteFile curContent = JsonConvert.DeserializeObject<SoporteFile>(File.ReadAllText(curFolder + @"/Contenido.json"));

curContent.soportes[0]오류가 발생합니다 (오류 CS0176 Member는 인스턴스 참조로 액세스 할 수 없습니다. 대신 형식 이름으로 한정). 그리고 이렇게하면 SoporteFile.soportes[0]참조가 객체의 인스턴스로 설정되지 않았습니다 (이 마지막 오류는 스페인어에서 번역되었으므로 약간 다를 수 있음). 내가 뭘 잘못하고 있니?

필요한 경우 역 직렬화하려는 json은 다음과 같습니다.

{
"eventos": [
    {
        "id_evento": 5,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-25 08:47:20",
        "descripcion": "Mañanas",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-16",
        "hora_inicio": "06:00:00",
        "fecha_limite": "2017-05-16",
        "hora_limite": "12:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    },
    {
        "id_evento": 8,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-27 16:51:56",
        "descripcion": "Tarde",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-16",
        "hora_inicio": "12:00:00",
        "fecha_limite": "2017-05-16",
        "hora_limite": "20:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    },
    {
        "id_evento": 5,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-25 08:47:20",
        "descripcion": "Mañanas",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-17",
        "hora_inicio": "06:00:00",
        "fecha_limite": "2017-05-17",
        "hora_limite": "12:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    },
    {
        "id_evento": 8,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-27 16:51:56",
        "descripcion": "Tarde",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-17",
        "hora_inicio": "12:00:00",
        "fecha_limite": "2017-05-17",
        "hora_limite": "20:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    },
    {
        "id_evento": 5,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-25 08:47:20",
        "descripcion": "Mañanas",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-18",
        "hora_inicio": "06:00:00",
        "fecha_limite": "2017-05-18",
        "hora_limite": "12:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    },
    {
        "id_evento": 8,
        "id_calendario": 5,
        "id_usuario": 1,
        "fecha_carga": "2017-04-27 16:51:56",
        "descripcion": "Tarde",
        "lugar": null,
        "resumen": null,
        "fecha_inicio": "2017-05-18",
        "hora_inicio": "12:00:00",
        "fecha_limite": "2017-05-18",
        "hora_limite": "20:00:00",
        "dia_completo": 0,
        "id_estado": null,
        "recordatorio": null,
        "bloqueado": 0,
        "id_programacion": 1,
        "color": null
    }
],
"programaciones": [
    {
        "id_programacion": 1,
        "nombre": "Programación estándar",
        "tipo_corte": 1,
        "duracion": null,
        "soportes": [
            {
                "id_soporteprogramacion": 10,
                "id_programacion": 1,
                "soporte": 2,
                "orden": null,
                "cantidad": 10,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 11,
                "id_programacion": 1,
                "soporte": 3,
                "orden": 1,
                "cantidad": 12,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 12,
                "id_programacion": 1,
                "soporte": 1,
                "orden": 2,
                "cantidad": 5,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 13,
                "id_programacion": 1,
                "soporte": 12,
                "orden": 3,
                "cantidad": 1,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 14,
                "id_programacion": 1,
                "soporte": 7,
                "orden": 4,
                "cantidad": 5,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 15,
                "id_programacion": 1,
                "soporte": 13,
                "orden": 5,
                "cantidad": 1,
                "duracion": null
            },
            {
                "id_soporteprogramacion": 16,
                "id_programacion": 1,
                "soporte": 8,
                "orden": 6,
                "cantidad": 10,
                "duracion": null
            }
        ]
    }
],
"soportes": {
    "2": [
        {
            "id_placa": 2,
            "id_ref": 1,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "vigencia_desde": "2017-04-12 08:13:00",
            "vigencia_hasta": "2018-04-12 08:13:00",
            "duracion": 1,
            "imagen": "17202847_10212332856146238_6497670072350234982_n.jpg",
            "texto": "el texto",
            "orden": 0,
            "audio": null
        },
        {
            "id_placa": 3,
            "id_ref": 2,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "vigencia_desde": "2017-04-12 08:13:00",
            "vigencia_hasta": "2018-04-12 08:13:00",
            "duracion": 1,
            "imagen": null,
            "texto": "sin imagen",
            "orden": 0,
            "audio": null
        }
    ],
    "1": [
        {
            "id_aviso": 7,
            "id_ref": 2,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "vigencia_desde": "2017-05-16 19:00:00",
            "vigencia_hasta": "2018-05-16 23:59:00",
            "titulo": "RENAULT MEGANE",
            "id_categoriaaviso": 1,
            "texto": "TEXTO DEL AVISO",
            "contacto": null,
            "imagen": null
        },
        {
            "id_aviso": 8,
            "id_ref": 4,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "vigencia_desde": "2017-05-16 19:00:00",
            "vigencia_hasta": "2018-05-16 23:59:00",
            "titulo": "FORD FOCUS",
            "id_categoriaaviso": 1,
            "texto": "FORD",
            "contacto": null,
            "imagen": "Apertura_2008_La_Capital_Rosario.jpg"
        }
    ],
    "13": {
        "id_region": 1,
        "timestamp": "2017-05-16 19:38:35",
        "fecha": "2017-05-16",
        "descripcion": "El aporte de aire húmedo desde el norte mantiene abundante nubosidad y menor amplitud térmica, mientras que sobre la región Patagónica ingresa un frente frío dando lugar a algunas precipitaciones y descenso de temperatura. "
    },
    "7": [
        {
            "id_portada": 1,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "nombre": "La nación",
            "url": "\\1.jpg"
        },
        {
            "id_portada": 2,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "nombre": "Clarín",
            "url": "\\2.jpg"
        }
    ],
    "8": [
        {
            "id_efemeride": 6,
            "id_ref": 2,
            "timestamp": "2017-05-16 19:38:35",
            "id_region": 1,
            "fecha": "2017-05-17",
            "titulo": "Día del enfermero 2",
            "texto": "En enero de 1974, se tomó la decisión de celebrar una jornada conmemorativa de las contribuciones de los enfermeros a la sociedad, promovida por el Consejo Internacional de Enfermería, que se celebra en todo el mundo cada 12 de mayo, conmemorando el natalicio de Florence Nightingale, considerada \\\"fundadora\\\" de la enfermería moderna. Nacida en 1820, de fe anglicana, creía que Dios la había inspirado para ser enfermera. Alcanzó fama mundial por sus trabajos precursores de enfermería en la asistencia a los heridos durante la guerra de Crimea.",
            "imagen": null,
            "video": null,
            "duracion": 10
        }
    ]
}

}

편집 : 아마도 사전에서 정적을 꺼내야 할 것입니다. 이렇게하면 "현재 JSON 개체 (예 : {"name ":"value "})를 'System.Object []'형식으로 역 직렬화 할 수 없습니다. 형식에 JSON 배열 (예 : [1, 2,3]) 올바르게 역 직렬화합니다. "

사용자 5292841

이것을 시도하십시오-귀하의 코드를 실행하는 데 적합합니다. (왜 유형에 객체 배열을 지정 했습니까?)

public Dictionary<int, object> soportes { get; set; }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CouchDB에서 Json을 역 직렬화 할 수 없습니다.

분류에서Dev

JSON을 역 직렬화 할 수 없습니다.

분류에서Dev

JSON 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

json을 제대로 역 직렬화 할 수 없습니다.

분류에서Dev

json 배열을 역 직렬화 할 수 없습니다.

분류에서Dev

JSon을 C #으로 역 직렬화 할 수 없습니다.

분류에서Dev

listview에서 json 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

직렬화 후 저지로 json을 역 직렬화 할 수 없습니까?

분류에서Dev

현재 JSON 개체를 역 직렬화 할 수 없습니다. 그룹 열을 사용하여 현재 JSON 개체를 역 직렬화 할 수 없습니다.

분류에서Dev

bndtools osgi 프로젝트에서 xml을 역 직렬화 할 수 없습니다.

분류에서Dev

UWP 앱에서 JSON을 역 직렬화 할 수 없음

분류에서Dev

C # : "현재 JSON 배열을 역 직렬화 할 수 없습니다."

분류에서Dev

API 호출 후 현재 JSON 배열을 역 직렬화 할 수 없습니다.

분류에서Dev

직렬화 및 역 직렬화는 사전을 백업 필드로 사용할 수 없습니다.

분류에서Dev

Json 배열은 역 직렬화 할 수 없습니다.

분류에서Dev

JSON 개체를 역 직렬화 할 수 없습니다.

분류에서Dev

컨트롤러에서 json 개체를 역 직렬화 할 수 없습니다.

분류에서Dev

튜플을 역 직렬화 할 수 없습니다.

분류에서Dev

C # MVC는 튜플을 역 직렬화 할 수 없습니다.

분류에서Dev

xml을 List <T>로 역 직렬화 할 수 없습니다.

분류에서Dev

Zoho Docs API 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

C #에서이 json을 어떻게 역 직렬화 할 수 있습니까?

분류에서Dev

servicestack MsgPack 클라이언트를 사용할 때 서비스 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

이 json을 어떻게 역 직렬화 할 수 있습니까?

분류에서Dev

VB.net을 사용하여 Json이 Youtube 데이터를 역 직렬화 할 수 없습니다.

분류에서Dev

문자열에서 int 유형의 값을 역 직렬화 할 수 없습니다.

분류에서Dev

양쪽 끝에서 동일한 클래스를 사용하여 C #에서 JSON을 역 직렬화 할 수 없습니다.

분류에서Dev

FormatException : BsonType 'ObjectId'에서 'Guid'를 역 직렬화 할 수 없습니다.

분류에서Dev

Java Spring에서 JSONObject (JSONArray 내부)를 역 직렬화 할 수 없습니다.

Related 관련 기사

  1. 1

    CouchDB에서 Json을 역 직렬화 할 수 없습니다.

  2. 2

    JSON을 역 직렬화 할 수 없습니다.

  3. 3

    JSON 응답을 역 직렬화 할 수 없습니다.

  4. 4

    json을 제대로 역 직렬화 할 수 없습니다.

  5. 5

    json 배열을 역 직렬화 할 수 없습니다.

  6. 6

    JSon을 C #으로 역 직렬화 할 수 없습니다.

  7. 7

    listview에서 json 응답을 역 직렬화 할 수 없습니다.

  8. 8

    직렬화 후 저지로 json을 역 직렬화 할 수 없습니까?

  9. 9

    현재 JSON 개체를 역 직렬화 할 수 없습니다. 그룹 열을 사용하여 현재 JSON 개체를 역 직렬화 할 수 없습니다.

  10. 10

    bndtools osgi 프로젝트에서 xml을 역 직렬화 할 수 없습니다.

  11. 11

    UWP 앱에서 JSON을 역 직렬화 할 수 없음

  12. 12

    C # : "현재 JSON 배열을 역 직렬화 할 수 없습니다."

  13. 13

    API 호출 후 현재 JSON 배열을 역 직렬화 할 수 없습니다.

  14. 14

    직렬화 및 역 직렬화는 사전을 백업 필드로 사용할 수 없습니다.

  15. 15

    Json 배열은 역 직렬화 할 수 없습니다.

  16. 16

    JSON 개체를 역 직렬화 할 수 없습니다.

  17. 17

    컨트롤러에서 json 개체를 역 직렬화 할 수 없습니다.

  18. 18

    튜플을 역 직렬화 할 수 없습니다.

  19. 19

    C # MVC는 튜플을 역 직렬화 할 수 없습니다.

  20. 20

    xml을 List <T>로 역 직렬화 할 수 없습니다.

  21. 21

    Zoho Docs API 응답을 역 직렬화 할 수 없습니다.

  22. 22

    C #에서이 json을 어떻게 역 직렬화 할 수 있습니까?

  23. 23

    servicestack MsgPack 클라이언트를 사용할 때 서비스 응답을 역 직렬화 할 수 없습니다.

  24. 24

    이 json을 어떻게 역 직렬화 할 수 있습니까?

  25. 25

    VB.net을 사용하여 Json이 Youtube 데이터를 역 직렬화 할 수 없습니다.

  26. 26

    문자열에서 int 유형의 값을 역 직렬화 할 수 없습니다.

  27. 27

    양쪽 끝에서 동일한 클래스를 사용하여 C #에서 JSON을 역 직렬화 할 수 없습니다.

  28. 28

    FormatException : BsonType 'ObjectId'에서 'Guid'를 역 직렬화 할 수 없습니다.

  29. 29

    Java Spring에서 JSONObject (JSONArray 내부)를 역 직렬화 할 수 없습니다.

뜨겁다태그

보관