我觉得对于我的问题有一个相当简单的解决方案。
我正在做一些数据操作,在结束时会以highcharts的格式打印出来。目前,我正在将整组嵌套的字典拆分并打印出每个部分,但我希望有像JSON.dumps(dict)这样的东西,其中输出的所有键都不带引号。所以,在类似代码的东西中:
{
'chart': {'backgroundColor': 'Blue',
'borderColor': 'Black',
'renderTo': 'container'},
'xAxis': { ... },
...
}输出到
{
chart: {
backgroundColor: 'Blue',
borderColor: 'Black',
renderTo: 'container'},
xAxis: { ... },
...
}如果我不能像这样输出,有没有好的方法从python中连接HighCharts?尽管有一些合理的Google-Fu,但我还没有遇到过这样的问题。
编辑:我正在努力使它与Geckoboard - Highcharts plugin兼容,因为我不能使用javascript的全部功能来解析输出。我需要它已经格式化,并准备好滚动时,我发送的数据。
发布于 2012-09-23 11:15:12
只需提供有效的json文本即可。您问题中的示例不是有效的json。使用Push API
#!/usr/bin/env python
import json
import urllib2
try:
r = urllib2.urlopen("https://push.geckoboard.com/v1/send/" + widget_key,
json.dumps(nested_dict))
except IOError as e:
if hasattr(e, 'reason'):
print "connection error:", e.reason
elif hasattr(e, 'code'):
print "http error:", e.code
print e.read()
else:
print "error:", e
else: # success
assert json.load(r)["success"]发布于 2012-09-23 09:03:29
是。你必须在客户端解码字符串(使用javascript):
JSON.parse('{"background": "black"}')此方法将返回javascript对象,您可以将其传递给Highcharts。
因此,您需要将python输出保存为js字符串,然后将其转换为JS-object。
https://stackoverflow.com/questions/12548917
复制相似问题