【问题标题】:Encoding is not kept不保留编码
【发布时间】:2015-02-21 00:13:02
【问题描述】:

我正在使用 Python 2.7 并使用 google plus 公共 API 来获取文件中的活动数据。我在维护文件中的 json 编码时遇到了问题。双引号在我的文件中以 u'' 的形式出现。以下是我的代码:

from apiclient import discovery

API_KEY = 'MY API KEY'
service = discovery.build("plus", "v1", developerKey=API_KEY)

activities_resource = service.activities()
request = activities_resource.search(query='India versus South  Africa', maxResults=1, orderBy='best',)
while request!= None:
      activities_document = request.execute()
      if 'items' in activities_document:
         with open("output.json", mode='a') as file:
             data = str(activities_document['items'])
             file.write(data +"\n\n")

   request = service.activities().list_next(request, activities_document)

输出: [{u'kind': u'plus#activity', u'provider': {u'title': u'Google+'}, u'titl.......

我期待 [{"kind": "plus#activity", .....

我在 Windows 上运行我的代码,我在 DOS 和 pycharm IDE 上都试过了。我也在 ubuntu 机器上运行了代码,但输出相同。请让我知道我做错了什么。

【问题讨论】:

  • 你为什么认为输出不正确?
  • 我正在将此输出加载到 mongoDB,它给了我一个错误: JSONDecodeError:期望用双引号括起来的属性名称:如果我手动编辑文件并将 u' ' 替换为 " " ;它移动到下一列并在下一个 unicode u' ' 实例上引发错误。

标签: python-2.7


【解决方案1】:

json 模块用于生成 JSON。使用它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多