¿Cómo conservar el order de los datos JSON recuperados con AFNetworking?

Estoy usando AFNetworking para recuperar datos JSON de un service web. Parte de la cadena de respuestas que obtengo es:

 {"DATA":{"LEASE TYPE":"3 Yrs + 0 renew of 0 Yrs","LANDLORD":"","TENANT":"test comp"... 

y así. El order de los valores key en el dictionary "DATOS" ("TIPO DE ARRENDAMIENTO", "ARRENDADOR", "INQUILINO" …) es importante para fines de presentación. Sin embargo, cuando AFNetworking llama a NSJSONSerialization's :

 + (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error; 

método, el dictionary devuelto tiene las keys en un order diferente.

AFJSONRequestOperation que el object AFJSONRequestOperation tiene la respuesta del server almacenada como un NSString , con todo en el order correcto. Sin embargo, no estoy interesado en analizar el JSON a mano si puedo evitarlo.

¿Alguien puede sugerir una forma que me permita get / save las keys en su order original?

Gracias.

Si el order es importante, use una matriz, no un dictionary, los dictionarys son por naturaleza desorderados. O agregue una matriz de keys de dictionary en el order deseado.

Si no tiene control sobre la respuesta que se envía, deberá analizar el JSON usted mismo al less para realizar el pedido.

Cuando crea un NSDictionary, el order no será el mismo. A menudo reconocí que los dictionarys se orderan alfabéticamente por nombre de key.

Pero cuando se usan dictionarys, el pedido realmente no importa. ¡Y no deberían hacerlo!

Como las respuestas anteriores mencionan que los dictionarys son por naturaleza sin order, pero aquí puedes encontrar una buena class de OrdenetworkingDictionary :

http://www.cocoawithlove.com/2008/12/ordenetworkingdictionary-subclassing-cocoa.html

http://projectswithlove.com/projects/OrdenetworkingDictionary.zip