所以我试图做一个返回一些Json的GET请求。从该请求返回的 json 具有 id 属性,因此我使用 NSJSONSerialization 解析 json 的类应该具有 id 属性。由于 id 在objective-c 中保留,因此我不能将其作为属性包含在我的类中。基本上,我的问题归结为我应该怎么做才能确保将 id 属性正确解析为我的类的对象。
问问题
319 次
2 回答
4
是的,id
是一个保留关键字(尽管正如 Josh 指出的那样,您可以将它用作变量名,他说得对,这是一个坏主意),但它仍然可以用作NSDictionary
. 例如,如果您的 JSON 如下所示:
{ "id" : "23432423", "name" : "Jason Boggess" }
然后,您可以按如下方式解析它:
NSError *error = nil;
NSDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (error) {
NSLog(@"%s: JSONObjectWithData error: %@", __FUNCTION__, error);
return;
}
NSString *identifier = dictionary[@"id"];
NSString *name = dictionary[@"name"];
于 2013-07-13T22:14:23.000 回答
3
如果你通过
{
id: 123,
name: "Chris"
}
toNSJSONSerialization
作为一个NSData
对象,你会得到一个NSDictionary
带有两个键的NSString
's 与值@"id"
和@"name"
,此时你可以从id
键中获取值并将其传递给你的 Objective-C 模型上的一个属性,该属性被命名为id
. 一个例子是recordId
于 2013-07-13T22:11:09.657 回答