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

时间:2016-06-09 23:40:39

标签: python sql json amazon-redshift udf

我正在尝试使用json.loads来解析Redshift数据库表中的数据。我已经删除了要在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']",但这没有用。我的入门价格需要什么格式?

1 个答案:

答案 0 :(得分:1)

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

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

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