如果我有一个 NSString 并且我想使用 NSJSONSerialization,是否有可能?我该怎么做呢?
问问题
47020 次
4 回答
92
首先,您需要NSString
通过NSData
执行以下操作将您的转换为
NSData *data = [stringData dataUsingEncoding:NSUTF8StringEncoding];
然后只需使用该JSONObjectWithData
方法将其转换为 JSON
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
于 2012-01-14T01:07:01.770 回答
12
您需要将您的转换NSString
为NSData
,此时您可以使用该+[NSJSONSerialization JSONObjectWithData:options:error:]
方法。
NSString * jsonString = YOUR_STRING;
NSData * data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError * error = nil;
id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
if (!json) {
// handle error
}
于 2012-01-14T00:07:04.163 回答
1
您可以通过以下方式将字符串转换为 NSData:
NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
然后,您可以将其与NSJSONSerialization
. 但是请注意,这NSJSONSerialization
仅适用于 iOS5,因此您最好使用 TouchJSON 或 JSONKit 之类的库,它们都可以让您直接使用字符串,从而节省了转换为 NSData 的步骤。
于 2012-01-14T00:06:39.493 回答
0
我写了一篇博文,演示了如何将原生 iOS JSON 类与使用原生 iOS JSON 类的实现一起包装在通用协议中。
这种方法使使用本机功能变得更加容易,并减少了您必须编写的代码量。此外,如果原生实现被证明是不够的,它可以更容易地使用 JSONKit 切换原生实现。
http://danielsaidi.com/blog/2012/07/04/json-in-ios
博客文章包含您需要的所有代码。只需复制/粘贴 :)
希望能帮助到你!
于 2012-07-04T21:21:29.543 回答