Simplejson奇怪的行为

时间:2014-04-03 12:16:11

标签: python json simplejson

所以在python中我用JSON结构创建一个字典

>>> a = {"name":'nikhil',"age":25}

现在我使用http://jsonlint.com/检查a是否为有效JSON 。我觉得它有效。

现在我做了:

>>> b = simplejson.dumps(a)
>>> b= '{"age": 25, "name": "nikhil"}'

现在我做了:

>>> c = simplejson.loads(b)
>>> c = {'age': 25, 'name': 'nikhil'}

现在我检查c是否为有效JSON我收到错误。

为什么Simplejson无法将JSON字符串转换回有效的JSON?当我开始使用有效的JSON时?

1 个答案:

答案 0 :(得分:2)

你在这里混淆JSON和Python。 b是JSON格式的字符串,c Python对象

在这方面,Python语法看起来很像JSON(JavaScript)。

  • Python字符串可以使用'",具体取决于内容; JSON始终使用"。您使用双引号键输入a,使用单引号输入一个字符串值;如果你让Python回复它,你会发现它只会显示单引号。

  • Python布尔值为TrueFalse,JSON使用truefalse

  • JSON'空'值为null,Python使用None代替。

请参阅json模块的Encoders and Decoders section,了解如何映射JSON和Python对象。