我有NSArray
个自定义对象(仅NSString
,NSArray
,NSNumber
),我需要将此JSON发送到服务器。使用NSJSONSerialization
会抛出错误,因为它不是属性列表。
除了以JSON格式手动创建NSString
对象外,还有其他方法吗?
NSString *manualPost = [NSString stringWithFormat:@"{\"key1\": \"%@\",\"key2\": \"%@\",\"key3\": %@,\"keyArray4\": [%@]}", val1, val2, val3, valArray4];
答案 0 :(得分:1)
要关闭此问题,正确的答案是使用字典,值可以是NSArrays
,NSNumber
s,NSString
s - 换句话说 - 属性列表。
样品:
NSDictionary *postDictionary = @{@"key1": @"value1",
@"key2": @(1),
@"key3":@[@"key3", @(5.9)]
};
NSError *error;
NSData *postData = [NSJSONSerialization dataWithJSONObject:postDictionary options:NSJSONWritingPrettyPrinted error:&error];
NSLog(@"PostData %@", postData);
NSLog(@"Error: %@", error);