我目前正在努力了解以下代码为何不起作用:
import json
import random
def _time_series_prc(start_date, count, periodicity, is_history=True):
values = []
print(type(start_date))
print(type(periodicity))
for i in range(count - 1):
value = random.uniform(0, 1)
values.append(value)
return _build_series(values, start_date, periodicity, is_history)
def _build_series(values, start_date, periodicity, is_history):
if is_history:
values.reverse()
return {
'periodicity': periodicity,
'startDate': start_date,
'values': values,
}
result = _time_series_prc('2019-07-17', 52, 'WEEKLY')
print(json.dumps(result, indent=4));
输出:
<class 'str'>
<class 'str'>
TypeError: Object of type function is not JSON serializable
在第7行,json.dumps
出现错误:TypeError:类型函数的对象不可JSON序列化。我使用ptyhon的时间不长,但是我不明白这怎么可能是函数指针而不是返回值。
答案 0 :(得分:1)
您的代码在Python 3.7.3上对我有用。
还请注意,for i in range(count - 1):
会给您51个结果,而不是52个结果(print(len(result['values']))
)。另外,尝试删除最后一行代码中的;
,以防万一:)