反序列化json文件中的布尔数据类型在python中不起作用

反序列化json文件中的布尔数据类型在python中不起作用,python,json,Python,Json,我有一个json文件,下面是python 2.7.6(未在python 3中测试)中未将字符串(“false”)解码为false的内容 下面是代码,它不是对布尔值进行解码 import json res=json.load(open('demo.json')) res对象应该类似于{“qps”:30,“force_push”:False}您只需要删除json文件中的引号,然后使用json.dumps { "qps": 30, "force_push": false } 在python

我有一个json文件,下面是python 2.7.6(未在python 3中测试)中未将字符串(“false”)解码为false的内容

下面是代码,它不是对布尔值进行解码

import json
res=json.load(open('demo.json'))

res对象应该类似于
{“qps”:30,“force_push”:False}

您只需要删除json文件中的引号,然后使用
json.dumps

{
  "qps": 30,
  "force_push": false
}
在python中:

import json
res=json.load(open('demo.json'))
output = json.dumps(res) # '{"qps": 30, "force_push": false}'

如果希望
false
成为结果json中的字符串,则需要在执行
json.dumps
之前,将从
false
加载的字典中的值显式转换为
“false”

{
  "qps": 30,
  "force_push": false
}
{
  "qps": 30,
  "force_push": false
}

我指定了false,而不是字符串表示法中的“false”。现在反序列化工作。

引号中的任何内容都是字符串。布尔值为
false
,不带引号。问题是json的序列化。。。它被正确地解码了,你能添加你在执行脚本时得到的输出吗?“内容不是解码布尔字符串”JSON中没有布尔字符串这样的东西。有布尔,有字符串。你有一根绳子。这就是为什么它被解码成python
str