【问题标题】:convert string to json or list in python [duplicate]在python中将字符串转换为json或列表[重复]
【发布时间】:2021-06-19 12:06:42
【问题描述】:

我有这个字符串[['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9']]

所以我测试了所有方法以找出如何在 python 中将其转换为列表或 JSON 格式

当我尝试使用 json.loads() 转换它时

显示错误

items = '[['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9']]'
item = json.loads(items)

错误是

json.decoder.JSONDecodeError: Expecting value: line 1 column 3 (char 2)

【问题讨论】:

  • 错误是什么?
  • 请贴出您尝试过的代码。
  • '期望值:第 1 行第 3 列(字符 2)'
  • JSON 需要双引号包围字符串,而不是单引号。
  • 使用ast.literal_eval()

标签: python json


【解决方案1】:

这不是 JSON,而是 Python 语法。使用ast.literal_eval()解析。

import ast

items = "[['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9']]"
result = ast.literal_eval(items)

【讨论】:

    【解决方案2】:

    你的引用错误,这有效:

    >>> import json
    >>> items = '[["18", "9"], ["18", "9"], ["18", "9"], ["18", "9"], ["18", "9"], ["18", "9"]]'
    >>> item = json.loads(items)
    >>> print(item)
    [['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9'], ['18', '9']]
    

    【讨论】:

      猜你喜欢
      • 2014-09-16
      • 2020-04-22
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-10
      • 2016-04-10
      相关资源
      最近更新 更多