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

JSON ValueError:预期属性名称:第1行第2列(字符1)

卢晟
2023-03-14
问题内容

我在使用json.loads转换为dict对象时遇到麻烦,我无法弄清楚我在做什么错。我得到的确切错误是

ValueError: Expecting property name: line 1 column 2 (char 1)

这是我的代码:

from kafka.client import KafkaClient
from kafka.consumer import SimpleConsumer
from kafka.producer import SimpleProducer, KeyedProducer
import pymongo
from pymongo import MongoClient
import json

c = MongoClient("54.210.157.57")
db = c.test_database3
collection = db.tweet_col

kafka = KafkaClient("54.210.157.57:9092")

consumer = SimpleConsumer(kafka,"myconsumer","test")
for tweet in consumer:
    print tweet.message.value
    jsonTweet=json.loads(({u'favorited': False, u'contributors': None})
    collection.insert(jsonTweet)

我很确定错误发生在第二行到最后一行

jsonTweet=json.loads({u'favorited': False, u'contributors': None})

但我不知道该如何解决。任何意见,将不胜感激。


问题答案:

json.loads将json字符串加载到python中dictjson.dumps将python转储dict到json字符串中,例如:

>>> json_string = '{"favorited": false, "contributors": null}'
'{"favorited": false, "contributors": null}'
>>> value = json.loads(json_string)
{u'favorited': False, u'contributors': None}
>>> json_dump = json.dumps(value)
'{"favorited": false, "contributors": null}'

所以那行是不正确的,因为您正在尝试load使用python dict,并json.loads期望json string应该有一个有效的<type 'str'>

因此,如果您尝试加载json,则应更改要加载的内容,使其类似于json_string上面的内容,否则应将其转储。根据给定的信息,这只是我的最佳猜测。您想要完成什么?

同样,您也不需要u在字符串前指定,就像注释中提到的@Cld一样。



 类似资料:
  • 问题内容: 尝试解码JSON 时出现错误。 我用于API调用的URL在浏览器中可以正常工作,但是通过curl请求完成时会出现此错误。以下是我用于curl请求的代码。 错误发生在 完整回溯: 追溯: 问题答案: 总结评论中的对话: 不需要使用库,Python作为模块包含了相同的库。 无需解码从UTF8到unicode的响应,/ 方法可以本地处理UTF8编码的数据。 有一个非常古老的API。除非您有特

  • 问题内容: 我遇到错误了。 由于以下原因,无法解析JSON:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期为BEGIN_ARRAY,但在第1行第2列为BEGIN_OBJECT 服务器网址 执行请求 上课后 我该如何解决? 问题答案: 您在注释中声明返回的JSON是这样的: 您告诉Gson您有一个对象数组:

  • 我是android编程新手。我有一个类,在这个类中,修改API调用是为了解析和显示JSON文件中的几个属性。但我得到: Java语言lang.IllegalStateException:应为BEGIN\u对象,但在第2行第1列为字符串 好心帮忙。我搜索了答案,但没有发现JSON响应有任何问题。发布了我的JSON响应和JAVA类: JSON响应: JAVA文件: 模型类:

  • 我正在开发一个电子学习应用程序。但是我在从JsonObject解析时遇到了一个问题。你能给我一个简单易懂的方法来做这件事吗? {"状态":true,"类别": [ { "category_id":"1","category_name":"印度尼西亚语","category_detail":null,"category_thumbnail":"0" }, { "category_id":"2","c

  • 我收到了firebase函数和dialogflow的响应,其中包含了我进一步实现所需的一些信息。响应是一个JSON,我将其保存在中,它是一个HashMap(字符串,对象)类型的变量。 我搜索过其他类似的线程,但奇怪的是,我的问题出现在第2列,而不是第1列,我在json中没有看到问题。这是gson部分。错误被抛出到带有属性的行上! 这是回应JSON:

  • 我使用请求来获取和解析使用Scrapy with Scrapyrt(实时刮取)刮取的一些数据。 我是这样做的: 根据Scrapy文档,当参数设置为时,爬行器会自动请求URL并将响应传递给解析方法,解析方法是解析请求时使用的默认方法。 start_requests 类型:布尔型 可选的 spider是否应执行Scrapy.spider.start\u请求方法。在没有ScrapyRT的情况下正常运行S