Json parsing el campo nulo en el objective c

Tengo un problema con la asignación de un JSON a un object de base …

¿Hay alguna manera de poner un valor "nulo" a una variable de miembro de class cuando la cadena JSON no contiene esa key?

Ex, aquí está mi class DataModel:

@interface DataModel : JSONModel @property (strong, nonatomic) NSString* Status; @property (strong, nonatomic) NSString* ErrorCode; @property (strong, nonatomic) ClientModel* Client; @end 

Esa class se usa para analizar cierta información sobre el cliente en el object ClientModel y tiene un campo ErrorCode & Status.

El campo de estado puede contener "Ok" o "Error". No hay problema aquí. el siguiente campo es un ErrorCode en caso de que el json contenga "Error" como estado.

El problema es que el server no siempre me enviará un valor key para ErrorCode (cuando el estado es "Ok", la API del server no envía el valor key ErrorCode).

Teniendo en count el hecho de que no puedo modificar el JSON enviado por el server, ¿cómo puedo analizar la cadena JSON recibida en mi object modal y poner "nil" como el valor ErrorCode cuando la cadena JSON no la contiene?

¿Hay alguna biblioteca que nos permita hacer esto? Actualmente estoy usando JSONModel, pero me da un error "Los datos entrantes no eran válidos" cuando faltan las keys. Sé que la API de Jackson para Java controla este tipo de situaciones, pero no sé si hay algo así en Objective-C. Si puedo hacer una solución con NSJSONSerialization, me complacería oírlo también.

¡Gracias!

Parece que JSONModel declara un protocolo llamado "Opcional" que está diseñado para este uso. Declare la propiedad que podría no estar presente en el JSON de conformidad con este protocolo para que el inicializador no se produzca un error:

 @property (strong, nonatomic) NSString<Optional> * ErrorCode;