我想創建例如下面的JSON對象PARAMS。我曾在iOS 5設備上工作,並可以使用NSJSONSerialization API來實現這一點。例如,我創建了一個通用函數「makeJSONObject()」並使用它。iPhone:格式化的Json PARAMS使用第三方解析器
Sample Payload 1:
{
token: "kjsdfjl23kkj23kk"
entries: [
{
"title": "welcome",
"name": "myself",
"date": "2012-02-06T00:14:20Z",
},{
"title": "Hi",
"name": "martin",
"date": "2012-02-06T00:14:20Z",
}
]
}
Sample Payload 2:
{
"email" : "[email protected]",
"password" : "pswrd"
}
CODE:
NSString *jsonRequest = [appDelegate makeJSONObject:[NSArray arrayWithObjects: emailStr, passwordStr, nil] :[NSArray arrayWithObjects: @"email", @"password", nil] ];
-(NSString *) makeJSONObject :(NSArray *)objects :(NSArray *)keys
{
NSString *theBodyString = NULL;
NSDictionary *data = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
//NSLog(@"data: %@", data);
NSError *writeError = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:data options:NSJSONWritingPrettyPrinted error:&writeError];
theBodyString = [[NSString alloc] initWithData:jsonData encoding:NSASCIIStringEncoding];
return theBodyString;
}
但是,我想現在支持4.0設備,我現在不能使用NSJSONSerialization API。我可能不得不使用SBJson或類似的東西,我猜,我不知道。有人可以幫助我如何修改我的通用函數以利用 SBJson或某些第三方解析器類?
請幫忙!謝謝。
你可以這樣試試 – 2012-04-30 07:37:55
我必須動態地添加entires數組,所以在這種情況下可能不會有幫助。請看樣本有效載荷1 :,它有動態創建的條目數組。 – Getsy