当前位置: 首页 > 面试题库 >

Python / Json:期望属性名称用双引号引起来

薛云瀚
2023-03-14
问题内容

我一直在努力寻找一种在Python中加载JSON对象的好方法。我发送此json数据:

{'http://example.org/about': {'http://purl.org/dc/terms/title': [{'type': 'literal', 'value': "Anna's Homepage"}]}}

到后端,它将以字符串形式接收,然后我用来json.loads(data)解析它。

但是每次我遇到同样的异常:

ValueError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

我用谷歌搜索,但是除了这个解决方案之外json.loads(json.dumps(data))似乎什么都没用,在我个人看来效率不高,因为它接受任何类型的数据,即使不是json格式的数据也是如此。

任何建议将不胜感激。


问题答案:

这个:

{'http://example.org/about': {'http://purl.org/dc/terms/title': [{'type': 'literal', 'value': "Anna's Homepage"}]}}

不是JSON。
这个:

{"http://example.org/about": {"http://purl.org/dc/terms/title": [{"type": "literal", "value": "Anna's Homepage"}]}}

是JSON。

编辑:
一些评论者建议以上是不够的。
JSON规范-
RFC7159声明字符串以引号开头和结尾。那是
"
单一仲裁 ' 在JSON中没有语义,只能在字符串中使用。



 类似资料:
  • 问题内容: 我正在使用Python(2.7)’json’模块来处理各种JSON feed。不幸的是,这些提要中的某些不符合JSON标准- 特别是某些键没有用双语音标记(“)包装。这导致Python出现错误。 我想写一个丑陋的代码来解析和修复传入的数据之前,我想问一下-有什么方法可以让Python解析此格式错误的JSON或“修复”数据,以便有效的JSON? 工作实例 破例 我编写了一个小的REGEX

  • 问题内容: 我想使用程序包执行Windows命令,但是Windows进行了一些奇怪的转义。 我有类似的东西: “SomeText” 但这会引发错误,因为Windows会将其转换为 有人知道为什么吗?如何使用exec程序包在Windows上执行? 谢谢! 问题答案: OK,这是一个比较复杂一点比你预期,但有 是 一个解决方案: 不幸的是,尽管在2011年添加了对此功能的支持,但它似乎尚未纳入文档中。

  • 本文向大家介绍json属性名为什么要双引号(个人猜测),包括了json属性名为什么要双引号(个人猜测)的使用技巧和注意事项,需要的朋友参考一下 原因一: 更加规范,利于解析 原因二: 避免class等关键字引起的不兼容问题 原因三: 可能也是最隐晦的: 个人猜测如果js对象的属性名为非string类型,会先进行类型转换, 但是这个过程中可能会出现非预期性的值,虽然仅属个例,但养成一个好习惯还是很有

  • 问题内容: 我的代码: 定义是错误的 定义是正确的 我听说在Python中 单 引号和 双 引号可以互换。谁能向我解释一下? 问题答案: JSON语法不是Python语法。JSON的字符串需要双引号。

  • 问题内容: 我注意到单引号导致的功能失败: 我正在解析以下内容:从文本文件转换为Python中的列表,并且也想接受。便于自动将其放入列表。 我如何才能接受单引号,或在不破坏输入的情况下自动将双引号替换为单引号?谢谢。 问题答案: 使用适合该工作的工具,您不是在解析JSON,而是在解析Python,因此请改用: JSON文件总是使用字符串双引号,使用UTF-16 进制转义语法,具有与键始终字符串键值

  • 问题内容: 我记得很久以前就听说过,在CSS font-family属性中将引号括起来包含多个单词的字体名称被认为是“最佳实践”,例如: 对于它的麻烦,我尝试从中删除引号,而Safari和Firefox在呈现它时没有任何问题。 那么,这种经验法则是否有逻辑,还是只是一个神话?较旧的浏览器是否有问题,不再适用于当前版本?我这样做已经有很长时间了,以至于我从未停止思考这是否真的必要。 问题答案: 在C