我使用过这种方法,
NSDictionary *jsonObject=[NSJSONSerialization
JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"jsonObject is %@",jsonObject);
正在打印“jsonObject为null”
“错误:无”是否有任何问题。
我没有使用任何网址或连接方法
我有一个json文件,我想在表格中显示它。
答案 0 :(得分:154)
请尝试以下代码。
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSArray* latestLoans = [json objectForKey:@"loans"];
NSLog(@"loans: %@", latestLoans);
答案 1 :(得分:8)
以防有人在这里看到快速代码:
NSData to NSDictionary
let dictionary:NSDictionary = NSKeyedUnarchiver.unarchiveObjectWithData(jsonData)! as NSDictionary
NSData到NSString
let resstr = NSString(data: res, encoding: NSUTF8StringEncoding)
答案 2 :(得分:6)
检查你的json输入,你的根元素既不是字典也不是数组?文档说明在这种情况下你必须指定NSJSONReadingAllowFragments作为选项。
#import <Foundation/Foundation.h>
int main(int argc, char *argv[]) {
NSAutoreleasePool *p = [[NSAutoreleasePool alloc] init];
NSData *jsonData = [@"{ \"key1\": \"value1\" }" dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *jsonObject=[NSJSONSerialization
JSONObjectWithData:jsonData
options:NSJSONReadingMutableLeaves
error:nil];
NSLog(@"jsonObject is %@",jsonObject);
[p release];
}
输出:
2012-09-26 16:06:51.610 Untitled[19164:707] jsonObject is {
key1 = value1;
}
答案 3 :(得分:0)
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
这只是顶级帖子的一个更简洁的版本。
答案 4 :(得分:-1)
let convertedJsonIntoDict =尝试JSONSerialization.jsonObject(with:data!,options:[])为?的NSDictionary