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

尝试在Python中解析JSON。ValueError:期望的属性名称

文自怡
2023-03-14
问题内容

我正在尝试将JSON对象解析为Python dict。我从来没有做过 当我搜索该特定错误( 第一个字符有什么问题吗?
)时,其他帖子都说要加载的字符串实际上不是JSON字符串。我很确定这是。

在这种情况下,eval()效果很好,但是我想知道是否有更合适的方法?

注意: 该字符串直接通过ptt工具来自Twitter。

>>> import json
>>> line = '{u\'follow_request_sent\': False, u\'profile_use_background_image\': True,
         u\'default_profile_image\': False, 
         u\'verified\': False, u\'profile_sidebar_fill_color\': u\'DDEEF6\',
         u\'profile_text_color\': u\'333333\', u\'listed_count\': 0}'
>>> json.loads(line)

Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 326, in loads
       return _default_decoder.decode(s)
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
       obj, end = self.raw_decode(s, idx=_w(s, 0).end())
     File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 382, in raw_decode
       obj, end = self.scan_once(s, idx)
   ValueError: Expecting property name: line 1 column 1 (char 1)

问题答案:

那绝对不是JSON-无论如何都不是上面印刷的。它已经被解析为Python对象-
JSON具有false,notFalse和不会像uunicode一样显示字符串(所有JSON字符串都是unicode)。您确定您尚未将json字符串免费转换为链中某处的Python对象,因此将其加载到json.loads()显然是错误的,因为实际上它不是字符串吗?



 类似资料:
  • 问题内容: 我正在尝试将JSON对象解析为Python 。我从没做过 当我搜索这个特定错误( 第一个字符有什么问题吗? )时,其他帖子都说正在加载的字符串实际上不是JSON字符串。我很确定这是。 在这种情况下,效果很好,但是我想知道是否有更合适的方法? 注意: 该字符串直接通过ptt工具来自Twitter。 问题答案: 那绝对不是JSON-无论如何都不是上面打印的。它已经被解析为Python对象-

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

  • 问题内容: 我一直在努力寻找一种在Python中加载JSON对象的好方法。我发送此json数据: 到后端,它将以字符串形式接收,然后我用来解析它。 但是每次我遇到同样的异常: 我用谷歌搜索,但是除了这个解决方案之外似乎什么都没用,在我个人看来效率不高,因为它接受任何类型的数据,即使不是json格式的数据也是如此。 任何建议将不胜感激。 问题答案: 这个: 不是JSON。 这个: 是JSON。 编辑

  • 问题内容: 我在使用json.loads转换为dict对象时遇到麻烦,我无法弄清楚我在做什么错。我得到的确切错误是 这是我的代码: 我很确定错误发生在第二行到最后一行 但我不知道该如何解决。任何意见,将不胜感激。 问题答案: 将json字符串加载到python中,将python转储到json字符串中,例如: 所以那行是不正确的,因为您正在尝试使用python ,并期望应该有一个有效的。 因此,如果

  • 我正在尝试解析一个JSON字符串。在解析之前,我将数据放入了JSON格式,但是我得到了一个“试图获取非对象属性”的错误。 下面是我的代码: 我的JSON字符串将如下所示: 有人能帮我找出我做错了什么吗?

  • 我试图解析值大于4000个字符的JSON属性。这是我的示例JSON: 这是PL/SQL代码: ProductFeature属性可能长于4000,但将其datatype更改为VARCHAR2(32000)将使用ORA-00910:指定的长度对其datatype太长来编译包,并更改为CLOB将返回ORA-40484:JSON_TABLE列的数据类型无效。是否有一种方法可以将整个ProductFeatu

  • 问题内容: 我有一些看起来像这样的JSON数据: 我在JSON.NET中使用C#来解析数据。我已经能够使用以下算法成功获取数据: 问题出在领域上。此字段主要基于用户首选项,并且仅在使用数据时插入数据。这些字段都是自定义字段,开发人员可以随意输入任意数量,没有限制。本质上,它们都是自由格式的数据。另外,正如您所注意到的,它们可以与数据真正嵌套在一起。 我试着跑: 这不起作用。 您将如何将其转换为在C

  • 问题内容: 我有一堂课,有以下领域。这些属性用于在需要调用外部rest API方法时序列化为json对象。 在属性名称中,外部API服务调用需要一些类似json归档名称格式的内容。 就我而言,这可以根据诸如test,dev和prod之类的环境进行更改。因此,我正在寻找一种将listId值移动到app.config中的方法。 我尝试按照以下方式进行操作,但不允许这样做。如果分配常数值,它将起作用。