Python 的 json.loads 的数据输入必须是什么格式?

What format does data input have to be for Python's json.loads?

我正在尝试使用 json.loads 来解析 Redshift 数据库 table 中的数据。我已经删除了在 Python 脚本中进行测试的功能,但我无法理解正在发生的事情。

我使用的代码是:

import json
j="'['Bars', 'American (Traditional)', 'Nightlife', 'Restaurants']'"

def trythis(item, reverse):
    if not j:
        return '1'
    try:
         arr = json.loads(j)
    except ValueError:
        return '2'
    if not ascending:
        arr = sorted(arr, reverse=True)
    else:
        arr = sorted(arr)
    return json.dumps(arr)

print trythis(j, True)

这是回归 2

我尝试将输入变量更改为 j="['Bars', 'American (Traditional)', 'Nightlife', 'Restaurants']",但没有成功。我的输入值需要采用什么格式?

您输入的字符串 j 无效 JSON。 JSON 不允许使用单引号 (') 来表示字符串值。

尝试切换引号:'["Bars", "American (Traditional)", "Nightlife", "Restaurants"]'

JSON 规范是确定您的输入是否有效的绝佳资源 JSON。您可以在这里找到它:http://www.json.org/