如何在请求正文中设置对象名称以在 Ios 中解析 json
Posted
技术标签:
【中文标题】如何在请求正文中设置对象名称以在 Ios 中解析 json【英文标题】:How to set object name in request body for json parsing in Ios 【发布时间】: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];..希望对你有帮助。 【参考方案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];
【讨论】:
以上是关于如何在请求正文中设置对象名称以在 Ios 中解析 json的主要内容,如果未能解决你的问题,请参考以下文章
javascript 如何在Express中解析请求的正文?
使用 http 端点访问 lambda 中的 HTTP 请求(标头、查询字符串、cookie、正文)对象
当 HTTP 请求返回状态 401 时,如何在 Java 中解析响应正文