我们如何在python中接受json图像文件?我们使用josn.loads
来获取数据但是图像文件呢?
答案 0 :(得分:9)
JSON是一种文本格式。由于图像是不透明的二进制数据,因此您需要将该数据编码为文本格式。
Base64最常用于此类数据,python可以使用base64
module处理得很好:
import base64
import json
image = base64.decodestring(json.dumps(data)['image'])
Twitter支持updating your profile image。
然而,对于除了非常小的图像之外的所有图像数据使用JSON 不是一个好主意。 python中包含的json解析器很容易使用大型有效负载重载,就像大小合适的图像一样。
您最好提供一个使用PUT或POST请求接受图像的REST API,然后使用URL与图像进行通信。
答案 1 :(得分:3)
JSON是 JavaScript Object Notation 。它用于通过使用基本类型,字符串,整数,浮点数,布尔值等来传达信息。
它可用于传递有关资源的元数据,但通常不会传递资源本身。
例如,您可能会收到如下所示的JSON对象:
a = '''{
'imageUrl': '/images/image.png',
'imageName': 'My Image'
}'''
decoded = json.loads(a)
通常,您使用此表示信息来自行检索资源。您可以使用标准库的网络模块在python中执行此操作。
import urllib2
img = urllib2.urlopen(decoded.imageUrl).read()