关于尊重, 我使用一个用base64编码的json文件的内容。 我想解码json文件的编码部分。下面是我的代码。在
response={"response": [{"objcontent": [{"rowkeys":["time","lat","lon","tos"],"rowvalues": [["AAAAAAAALkA=","AAAAAADgU8A=","AAAAAAAA8D8=","7HitYA"],["AAAAAAAALkA=","AAAAAADgU8A=","AAAAAAAACEA=","7HitYA"],["AAAAAAAALkA=","AAAAAADgU8A=","AAAAAAAAFEA=","7HitYA"]]}]}]}
import base64
import struct
for response_i in response['response']:
a=base64.b64decode(response_i['objcontent'][0]['rowvalues'])
struct.unpack('12d',a)
以下是我得到的错误。在
^{pr2}$有人能给你一些克服这个问题的建议。 谢谢您。在
您正在传递整个列表,该列表本身包含更多列表:
您需要解码每个单独的条目,而不是整个列表:
^{pr2}$注意,I忽略了行中的最后一个值,它不是Base64值。在
下一个问题是Base64数据没有足够的字节来保存12个浮点值(每个8个字节,所以需要96个字节)。由于每个字符串的8个字节,因此每个字符串中可能只有一个浮点值。在
所以你只需要解码一个浮点数:
演示:
这将执行base64解码解包结构对我来说失败了。在
您的json格式似乎不正确,有更多的打开[而不是关闭]。所以我不能给你一个确切的分类。在
在任何情况下,与键“rowvalues”匹配的值是列表[[],[],[]]的列表。因此,您需要对其进行相应的分解,以便将正确的值传递给解码器
相关问题 更多 >
编程相关推荐