use*_*142 2 iphone xcode json objective-c
我有以下数组
NSMutableArray* answers;
Run Code Online (Sandbox Code Playgroud)
答案的每个元素本身就是一个对象数组.
我需要将上面的2D数组转换为适当的JSON格式(使用JSONKit框架),以便它可以传递给php应用程序并在此后解码...
各个对象具有以下结构:
@interface Answer : NSObject {
//NSString* answerId;
NSString* answer;
NSString* questionId;
}
//@property (nonatomic, retain) NSString* answerId;
@property (nonatomic, retain) NSString* answer;
@property (nonatomic, retain) NSString* questionId;
@end
Run Code Online (Sandbox Code Playgroud)
也就是说,答案的每个元素都是一个答案对象数组.基本上我需要的是使用JSONKit框架将每个答案对象中的相关数据编码为JSON格式,以便它可以发布到php应用程序并解码....
基本上我需要这种形式的东西:
{{"answer":"1","questionId":"1"},{{"answer":"5","questionId":"2"},......}
与所有其他JSON框架一样,JSONKit与自定义对象不兼容.为此,您需要遍历对象并将它们放入JSONKit可以理解的对象(NSArrays和NSDictionaries)中.像这样的东西:
NSMutableArray *jAnswers = [[[NSMutableArray alloc] init] autorelease];
for(Answer *answ in answers)
{
NSMutableDictionary *jAnswer = [[[NSMutableDictionary alloc] init] autorelease];
[jAnswer addObject: answ.answer forKey: @"answer"];
[jAnswer addObject: answ.questionId forKey: @"questionId"];
[jAnswers addObject: jAnswer];
}
NSString *jAnswersJSONFormat = [jAnswers JSONString];
Run Code Online (Sandbox Code Playgroud)
会给你:
[{"answer": "1", "questionId": "1"}, {"answer": "5", "questionId": "2"}, ...]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |