期待json.loads的价值

时间:2016-06-18 12:09:22

标签: python json django

在我的应用程序中调用一个php脚本,它将返回一个json编码的字符串

    output = str(subprocess.check_output(["php","-f" ,  "../connector/somefile.php" ,"code_string:"+code_string]));
    print(output)

这是我的打印(输出)

b'{"success":"1","code":"pewcndIiD8WcB5MdH+8JOAVJ03xlt92sIUYgs2m2tIGtLohnDHjBP8s8x9\\/YroJnyrCLcyN6Brwicn9\\/DS4j9kH8a6gcOKFS1bpmvdKxJSrmgT0aO
z0u16npbt1ldklXx16WEybEN4gKG0DI="}'

当我尝试将其解码为字典时

 dic = json.loads(output)

我得到了

ValueError at /myapp/

Expecting value: line 1 column 1 (char 0)

这条线有什么问题吗?这不是一个有效的json吗?我很确定我在php文件中生成了有效的json对象,但是我不确定在python端的json字符串的开头是多余的b

1 个答案:

答案 0 :(得分:1)

'b代表字节字符串,如果你解码它,它应该工作

json.loads(output.decode('utf-8'))
{'code': 'pewcndIiD8WcB5MdH+8JOAVJ03xlt92sIUYgs2m2tIGtLohnDHjBP8s8x9/YroJnyrCLcyN6Brwicn9/DS4j9kH8a6gcOKFS1
bpmvdKxJSrmgT0aOz0u16npbt1ldklXx16WEybEN4gKG0DI=', 'success': '1'}