gpt4 book ai didi

javascript - 如何用python创建highcharts格式的json结构

转载 作者:太空宇宙 更新时间:2023-11-04 10:31:29 25 4
gpt4 key购买 nike

我正在尝试创建一些 json 来使用 python/django 呈现 Highcharts 。

到目前为止,这是我的观点:

class LineHighChart(object):
title = {}

def weight_graph(request):
print 'weight graph'
highchart = LineHighChart()
title = {
'title': {
'text': 'Weight Chart',
'x': -20
}
}

highchart.title = title
print highchart

return JsonResponse(highchart, safe=False)

这打印:

<shared.linehighchart.LineHighChart object at 0x1038a6890>

然后我得到错误:

TypeError: <shared.linehighchart.LineHighChart object at 0x1038a6890> is not JSON serializable

从 highcharts 示例来看,这需要像这样嵌入到 highcharts 对象中:

highcharts({
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},

如何使我的 highcharts 对象看起来像 highcharts 示例?

最佳答案

您正在尝试将类的序列化程序对象转换为 json,但 python 不知道如何正确执行此操作。有几种方法可以解决此问题:创建您自己的对象编码器、将数据转换为字典等...( more ).

序列化后您的数据将是:

'{"title": {"title": {"text": "Weight Chart", "x": -20}}}'

但这是不正确的格式,highcharts 无法理解。所以我建议像这样简化你的逻辑:

def weight_graph(request):
title = {
'title': {
'text': 'Weight Chart',
'x': -20
}
}

return JsonResponse(title, safe=False)

或者如果你真的需要使用类:

class LineHighChart(object):
title = {}


def weight_graph():
highchart = LineHighChart()
title = {
'text': 'Weight Chart',
'x': -20
}
highchart.title = title

return JsonResponse(highchart.__dict__, safe=False)

序列化后的数据将是:

'{"title": {"text": "Weight Chart", "x": -20}}'

Highcharts 可以很好地处理这些数据。

关于javascript - 如何用python创建highcharts格式的json结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26226220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com