如何在iPhone中将UIImage转换为JSON文件?

时间:2012-06-15 13:54:13

标签: iphone json uiimage

我一直在使用 NSJSONSerialization 类将我的对象的字段转换为JSON。遗憾的是,只支持 NSString,NSNumber,NSArray,NSDictionary或NSNull 类型。

由于我的对象有一个额外的字段,即 UIImage ,我对如何处理它感到茫然。我相信很多人都遇到过这个常见问题,那么最好的方法是什么呢?

3 个答案:

答案 0 :(得分:2)

您可以通过base64编码UIImage数据,并将其添加到json对象。 要从UIImage获取数据,您可以使用UIImagePNGRepresentationUIImageJPEGRepresentation

像这样的代码,

NSData *imageData = UIImagePNGRepresentation(image);
NSString *base64encodedStr = base64encode(imageData);
[dict setObject:base64encodedStr forKey:@"myImage"];
//then covert dict to json object.

要恢复UIImage数据,只需解析json对象并通过base64解码数据。

希望这可以帮到你。

答案 1 :(得分:1)

您可以将图像数据转换为字符串,然后编写该字符串。

NSData *imageData = UIPNGRepresentation(image);
NSString *imageString = [[NSString alloc] initWithData:imageData encoding:NSUTF8StringEncoding];

//I don't know how to use NSJSONSerialization
//[NSJSONSerialization serializeString:imageString];

答案 2 :(得分:0)

NSString *base64encodedStr = [imageData base64Encoding];