【问题标题】:How to set object name in request body for json parsing in Ios如何在请求正文中设置对象名称以在 Ios 中解析 json
【发布时间】:2013-12-12 13:39:10
【问题描述】:

我是 JSON 解析的新手,我正在使用以下代码将数据发布到服务器

    NSDictionary *newDatasetInfo = [NSDictionary dictionaryWithObjectsAndKeys:ClassicLevel, @"ClassicLevel",CurrentLevel,@"CurrentLevel",UpdatedDate,@"UpdatedDate",Name,@"Name",UpdatedTime,@"UpdatedTime", nil];

    NSError*error;
    //convert object to data
    NSData* jsonData = [NSJSONSerialization dataWithJSONObject:newDatasetInfo options:kNilOptions error:&error];

    NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
    [request setURL:[NSURL URLWithString:@"http://testURL"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
    [request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
    [request setValue:[NSString stringWithFormat:@"%d", [jsonData length]] forHTTPHeaderField:@"Content-Length"];

    [request setHTTPBody:jsonData];

通过使用它,我可以生成以下请求正文

{
 "Name":"abc",
 "UpdatedDate":"",
 "CurrentLevel":"2",
 "UpdatedTime":"122",
 "ClassicLevel":"1" 
}

但我必须生成请求正文,例如:

{
"objTimesheet" : 
    {
    "Name":"abc",
    "UpdatedDate":"",
    "CurrentLevel":"2",
    "UpdatedTime":"122",
    "ClassicLevel":"1" 
    }
}

提前致谢。

【问题讨论】:

  • 您好,我必须传递相同的请求,但在请求中传递用户名和密码的值知道吗?
  • @keyurbhalodiya:试试这个..NSDictionary *newDatasetInfo = [NSDictionary dictionaryWithObjectsAndKeys:strUsername , @"usernameKey ",strPassword ,@"passwordKey", nil];..希望对你有帮助。

标签: ios objective-c nsdictionary nsjsonserialization


【解决方案1】:

您正在字典中寻找字典。放弃你已经拥有的:

NSDictionary *newDatasetInfo = [NSDictionary dictionaryWithObjectsAndKeys:ClassicLevel, @"ClassicLevel",CurrentLevel,@"CurrentLevel",UpdatedDate,@"UpdatedDate",Name,@"Name",UpdatedTime,@"UpdatedTime", nil];
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:newDatasetInfo, @"objTimesheet", nil];

NSError*error;
//convert object to data
NSData* jsonData = [NSJSONSerialization dataWithJSONObject:dict options:kNilOptions error:&error];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    • 2022-08-18
    相关资源
    最近更新 更多