Objective-c SBJSONWriter конвертирует массив словарей в JSON - PullRequest
0 голосов
/ 05 июля 2011

В данный момент у меня возникли проблемы с SBJsonWriter.

Мне нужно отправить запрос, содержащий объект json из пар имя / значение.например,

[{%22uid%22:1,%22version%22:1}]

Я не могу понять, как это сделать в Obj-C с помощью фреймворка SBJson Writer.

Для каждой пары, которую я пытался построить, затем добавить словарьв массив.В результате получается массив, содержащий много словарей, каждый из которых содержит одну пару имя / значение.

Есть идеи о том, как это исправить или это возможно?

Заранее спасибо

Ответы [ 2 ]

4 голосов
/ 05 июля 2011

Чтобы создать структуру Objective-C, эквивалентную вышеуказанному JSON, вы должны сделать это:

NSArray* json = [NSArray arrayWithObject: [NSDictionary dictionaryWithObjectsAndKeys: 
                                               [NSNumber numberWithInt: 1], @"uid",
                                               [NSNumber numberWithInt: 1], @"version",
                                               nil]];
1 голос
/ 12 сентября 2012

Проверьте мой ответ на вопрос '' SBJsonWriter Nested NSDictionary ''.он показывает, как правильно использовать SBJsonWriter.

Включает проверку ошибок и некоторые советы о поведении SBJsonWriter с NSDate, float и т. д.

Выдержка:

NSDictionary* aNestedObject = [NSDictionary dictionaryWithObjectsAndKeys:
                                      @"nestedStringValue", @"aStringInNestedObject",
                                      [NSNumber numberWithInt:1], @"aNumberInNestedObject",
                                 nil];

NSArray * aJSonArray = [[NSArray alloc] initWithObjects: @"arrayItem1", @"arrayItem2", @"arrayItem3", nil];

NSDictionary * jsonTestDictionary = [NSDictionary dictionaryWithObjectsAndKeys:
                                     @"stringValue", @"aString",
                                     [NSNumber numberWithInt:1], @"aNumber",
                                     [NSNumber numberWithFloat:1.2345f], @"aFloat",
                                     [[NSDate date] description], @"aDate",
                                     aNestedObject, @"nestedObject",
                                     aJSonArray, @"aJSonArray",
                                     nil];
...