首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中输出JSON,以便将其用于Geckoboard的Highcharts插件

如何在python中输出JSON,以便将其用于Geckoboard的Highcharts插件
EN

Stack Overflow用户
提问于 2012-09-23 08:58:49
回答 2查看 2K关注 0票数 4

我觉得对于我的问题有一个相当简单的解决方案。

我正在做一些数据操作,在结束时会以highcharts的格式打印出来。目前,我正在将整组嵌套的字典拆分并打印出每个部分,但我希望有像JSON.dumps(dict)这样的东西,其中输出的所有键都不带引号。所以,在类似代码的东西中:

代码语言:javascript
复制
{
    'chart': {'backgroundColor': 'Blue',
              'borderColor': 'Black',
              'renderTo': 'container'},
    'xAxis': { ... },
...
}

输出到

代码语言:javascript
复制
{
    chart: {
        backgroundColor: 'Blue',
        borderColor: 'Black',
        renderTo: 'container'},
    xAxis: { ... },
...
}

如果我不能像这样输出,有没有好的方法从python中连接HighCharts?尽管有一些合理的Google-Fu,但我还没有遇到过这样的问题。

编辑:我正在努力使它与Geckoboard - Highcharts plugin兼容,因为我不能使用javascript的全部功能来解析输出。我需要它已经格式化,并准备好滚动时,我发送的数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-23 11:15:12

只需提供有效的json文本即可。您问题中的示例不是有效的json。使用Push API

代码语言:javascript
复制
#!/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"]
票数 4
EN

Stack Overflow用户

发布于 2012-09-23 09:03:29

是。你必须在客户端解码字符串(使用javascript):

代码语言:javascript
复制
JSON.parse('{"background": "black"}')

此方法将返回javascript对象,您可以将其传递给Highcharts。

因此,您需要将python输出保存为js字符串,然后将其转换为JS-object。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12548917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档