我将JSON写入文件:
NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dictionary error:&error];
[jsonData writeToURL:[NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@",
NSTemporaryDirectory(), @"file.json"]] atomically:YES];
但是我怎么读回来呢?
我尝试将文件加载到NSData中,然后像这样转换为NSDictionary
// uses toll-free bridging for data into CFDataRef and CFPropertyList into NSDictionary
CFPropertyListRef plist = CFPropertyListCreateFromXMLData(kCFAllocatorDefault, (CFDataRef)data,
kCFPropertyListImmutable,
NULL);
// we check if it is the correct type and only return it if it is
if ([(id)plist isKindOfClass:[NSDictionary class]])
{
return [(NSDictionary *)plist autorelease];
}
else
{
// clean up ref
CFRelease(plist);
return nil;
}
但是它崩溃了,因为我认为NSData不是plist。
CJSONSerializer有没有一种方法可以从文件中提取数据并将其转换为字典?
谢谢,
-码
最佳答案
您可以使用序列化器将对象转换为JSON,并使用反序列化器将其转换为相反的方向。实际上,TouchJSON具有CJSONDeserializer类:
[[CJSONDeserializer deserializer] deserialize:data error:NULL];
关于iphone - 将JSON写入文件。但是你怎么读回来呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473495/