Objective-c SBJSONWriter将字典数组转换为JSON

时间:2011-07-05 14:26:29

标签: objective-c json sbjson

目前我在使用SBJsonWriter时遇到了一些麻烦。

我需要发送一个包含名称/值对的json对象的请求。 e.g。

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

我无法弄清楚如何使用SBJson Writer框架在Obj-C中执行此操作。

对于每一对,我试图构建一个字典,然后将字典添加到数组中。这会产生一个包含许多字典的数组,每个字典包含一个名称/值对。

有关如何修复此问题或是否可能的任何想法?

提前致谢

2 个答案:

答案 0 :(得分:4)

要生成与上述JSON等效的Objective-C结构,您应该这样做:

NSArray* json = [NSArray arrayWithObject: [NSDictionary dictionaryWithObjectsAndKeys: 
                                               [NSNumber numberWithInt: 1], @"uid",
                                               [NSNumber numberWithInt: 1], @"version",
                                               nil]];

答案 1 :(得分:1)

检查我对“SBJsonWriter Nested NSDictionary”问题的回答。它说明了如何正确使用SBJsonWriter。

它包含错误检查以及有关NSDate,float等的SBJsonWriter行为的一些建议。

摘录:

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];
相关问题