2009-08-14 11 views
7

¿Alguien tiene un código de muestra para crear una carga útil JSON que se enviará como solicitud HTTP POST en Objective-C? Un ejemplo de la carga útil JSON Busco para generar el siguiente aspecto:Generación de una carga útil JSON para solicitud POST HTTP en Objective-C

{__metadata:{\"Uri\":\"/NewLoc/\", 
\"Type\":\"Location.NewLoc\"}, \"LocID\":\"100006\", 
\"latitude\": \"40.123456\", \"longitude\": \"-65.876543\", 
\"VisitDate\": \"\\/Date(1249909200000)\\/\", \"type\": \"S\"} 

Estoy utilizando el marco del JSON-descargado de: http://code.google.com/p/json-framework/

Cualquier código de ejemplo sería muy apreciada.

Respuesta

17

Ya está utilizando el json-framework, por lo que es la mitad del trabajo realizado.

Este marco puede tomar cualquier objeto compatible con Codificación de valor-clave y traducirlo a JSON. Podría ser un objeto de Datos básicos, un objeto NSDictionary y cualquier objeto arbitrario siempre que admita KVC.

Además, json-framework agrega una categoría que le permite obtener una cadena JSON de estos objetos utilizando el mensaje JSONRepresentation.

Así, suponga que desea utilizar NSDictionary, se podría escribir:

NSMutableDictionary* jsonObject = [NSMutableDictionary dictionary]; 
NSMutableDictionary* metadata = [NSMutableDictionary dictionary]; 
[metadata setObject:@"NewLoc" forKey:@"Uri"]; 
[metadata setObject:@"Location.NewLoc" forKey:@"Type"]; 
[jsonObject setObject:metadata forKey:@"__metadata"]; 
[jsonObject setObject:@"100006" forKey:@"latitude"]; 
// ... complete the other values 
// 
NSString* jsonString = jsonObject.JSONRepresentation; 
// jsonString now contains your example strings. 
+0

Aviad, que es impresionante. a veces solo necesitamos muestras de código corto para entender la idea. vale la pena 2 horas de depuración. ¡Gracias! –

+0

@Hamutsi: Gracias, solo me gustaría obtener la marca de respuesta para eso;) –

+1

oh lo hice, el 10 de abril, justo después de poner el comentario :) –

Cuestiones relacionadas