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/
我正在尝试使用 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/