如何格式化JSON?
How to format the JSON?
我正在尝试将 json 数据从 pandas 数据帧直接输出到 dcc.store(plotly-dash 组件),这是带有 id 'intermediate-value' 的输出。所以,我做了一个字典,然后我把 JSON 扔掉了。我不断收到此错误:
Expected type: (<class 'tuple'>, <class 'list'>)
Received value of type <class 'str'>
我知道它说我正在向它传递一个字符串,而且我应该向它传递一个元组(或?)一个列表。我不确定的是如何编辑我的代码以匹配它想要的数据结构。任何人都可以提供见解,我在下面包含了我的问题功能:
@app.callback(
[
Output('intermediate-value', 'data')
],
[
Input("keyword-selection", "value"),
Input("status-selection", "value")
]
)
def color_map(keyword_selected, status_selected):
local_df = df_xy_coord[df_xy_coord["active"] == status_selected].copy() if status_selected != "All" else df_xy_coord
color_index = 0
for keyword in keyword_selected:
local_df.loc[local_df["keyword"] == keyword, 'color'] = colors[color_index]
color_index += 1
color_dictionary = dict( zip( local_df.keyword, local_df.color ) )
return( json.dumps(color_dictionary, indent = 4) )
到 return Python 中的元组(逗号是 Python 将其解析为大小为 1 的元组所必需的):
return (color_dictionary, )
到 return Python 中的列表:
return [color_dictionary]
json.dumps
将对象(例如 dict
)序列化为 JSON 格式的 str
。
您可以先将 dict 序列化为 JSON 字符串,然后按照上面的示例将其 return 序列化为元组或列表。
请参阅 json.dumps here.
的文档
我正在尝试将 json 数据从 pandas 数据帧直接输出到 dcc.store(plotly-dash 组件),这是带有 id 'intermediate-value' 的输出。所以,我做了一个字典,然后我把 JSON 扔掉了。我不断收到此错误:
Expected type: (<class 'tuple'>, <class 'list'>)
Received value of type <class 'str'>
我知道它说我正在向它传递一个字符串,而且我应该向它传递一个元组(或?)一个列表。我不确定的是如何编辑我的代码以匹配它想要的数据结构。任何人都可以提供见解,我在下面包含了我的问题功能:
@app.callback(
[
Output('intermediate-value', 'data')
],
[
Input("keyword-selection", "value"),
Input("status-selection", "value")
]
)
def color_map(keyword_selected, status_selected):
local_df = df_xy_coord[df_xy_coord["active"] == status_selected].copy() if status_selected != "All" else df_xy_coord
color_index = 0
for keyword in keyword_selected:
local_df.loc[local_df["keyword"] == keyword, 'color'] = colors[color_index]
color_index += 1
color_dictionary = dict( zip( local_df.keyword, local_df.color ) )
return( json.dumps(color_dictionary, indent = 4) )
到 return Python 中的元组(逗号是 Python 将其解析为大小为 1 的元组所必需的):
return (color_dictionary, )
到 return Python 中的列表:
return [color_dictionary]
json.dumps
将对象(例如 dict
)序列化为 JSON 格式的 str
。
您可以先将 dict 序列化为 JSON 字符串,然后按照上面的示例将其 return 序列化为元组或列表。
请参阅 json.dumps here.