iPhone:使用第三方解析器格式化Json参数

iPhone:使用第三方解析器格式化Json参数,iphone,json,Iphone,Json,我想创建JSON对象参数,例如下面的例子。我曾经在iOS5设备上工作过,并且能够使用NSJSONSerialization API实现这一点。例如,我创建了一个通用函数makeJSONObject并使用它 Sample Payload 1: { token: "kjsdfjl23kkj23kk" entries: [ { "title": "welcome", "name": "myself", "date": "2012-02-06T00:1

我想创建JSON对象参数,例如下面的例子。我曾经在iOS5设备上工作过,并且能够使用NSJSONSerialization API实现这一点。例如,我创建了一个通用函数makeJSONObject并使用它

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" : "me@company.com",
  "password" : "pswrd"
}
代码:

但是,我现在想支持4.0设备,现在不能使用NSJSONSerialization API。我可能不得不使用SBJson或类似的东西,我想我不知道。有人能帮助我如何修改上面的泛型函数来使用它吗 SBJson或某些第三方解析器类


请帮忙!谢谢。

NSString*jsonRequest=[NSString stringWithFormat:@&json\U data=%@[[NSString stringWithFormat:{\listInvoice\:{\client\u id\:\,\date\u from\:\,\date\u to\:\,\invoice\u record\,\invoice\u status\:\,\invoice\invoice\u status\:\,\pages\,\pages\,\pages\,\pages\,\pages\,\pages\,\page1\,\per-pageu-pageu-record\:\20\\\\\\\\\\\\\使用Escap

尝试我的NSArray/NSDictionary扩展,从这些基本数据类型构建JSON字符串。

我必须动态添加entires数组,因此在这种情况下可能没有帮助。请看示例负载1:,它动态创建了entires数组。
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;
}