在我的iPhone应用程序中,我试图使用JSON库(YAJL)创建一个类似于以下格式的JSON字符串:
{"user":
{"name":"Jon", "username":"jon22", "password":"passw@rd", "email":"jon22@example.com"}
}但我无法找到YAJL方法来创建它。
我尝试了以下几点:
NSArray *params = [NSArray arrayWithObjects:@"Jon", @"jon22", @"passw@rd", @"jon22@gmail.com", nil];
NSArray *keys = [NSArray arrayWithObjects:@"name", @"username", @"password", @"email", nil];
NSDictionary *userDictionary = [NSDictionary dictionaryWithObjects:params forKeys:keys];
NSString *JSONString = [userDictionary yajl_JSONString];但是,返回的字符串没有包装在外部"user“中。如何使用YAJL来创建这个json字符串?,有人对此有经验吗?
非常感谢,布雷特
发布于 2011-09-06 21:15:49
我不使用YAJL,但是SBJSON,也是苹果在iOS中使用的.
无论如何,库的行为是正确的:您不是在创建“用户”字典!
你需要做的事情是:
NSDictionary *serialize = [NSDictionary dictionaryWithObject:userDictionary forKey:@"user"];然后"JSON-ize“这个。
这是因为当您在userDictionary上调用userDictionary时,您使用userDictionary作为您的“根对象”。如果要将其包装在另一个字典中,则需要显式地这样做。
发布于 2011-09-06 22:48:46
我强烈建议您查看JSONKit https://github.com/johnezang/JSONKit,我已经使用了许多JSON解析器,并且发现它是最简单的。
此外,文档也很棒。
https://stackoverflow.com/questions/7326136
复制相似问题