在我的项目中,我有一个像这样的二进制文件:
data1 = b'"[5, \\"WEB99\\", \\"Test\\", true, \\"2018-08-12\\"]"'
我会提取一些信息(不带\),例如date1 [0]-> 5或data1 [4]->“ 2018-08-12”
为此,我尝试使用json将我的二进制文件转换为dict:
data1 = data1.decode('utf-8')
然后
d1 = json.dumps(data1, default='utf-8')
但结果是一团糟:
'“ \” [5,\\\“ WEB99 \\\”,\\\“ Test \\\”,true,\\\“ 2018-08-12 \\”“] \”“'
我如何以pythonic方式将二进制数据转换为用于提取值的格式?
预先感谢
答案 0 :(得分:2)
您可以先这样做:
data1 = data1.decode('utf-8')
然后
a = json.loads(json.loads(data1,encoding='utf-8'))
[5,'WEB99','Test',True,'2018-08-12']
此时,您有了一个列表,可以根据需要提取值:
a[3]
是
答案 1 :(得分:1)
您应该使用loads
而不是dumps
。但是,就您而言,我使用了loads
2次。
data1 = b'"[5, \\"WEB99\\", \\"Test\\", true, \\"2018-08-12\\"]"'
your_list = json.loads(json.loads(data1.decode('utf-8')))