【问题标题】:Assigning json to variable将json分配给变量
【发布时间】:2013-04-26 14:12:32
【问题描述】:

好的,解释一下。尽管我认为这与问题本身没有任何关系。我有一个使用传单映射一些数据的小型 django 项目。在鼠标悬停时,使用dajax(这是一个“在 django 项目中实现 AJAX 的轻量级库”)框架添加了一些 ajax 功能。调用本身如下所示:

dajax.add_data(simplejson.dumps(series), 'my_test_flot')

我的 js 函数接收到如下所示的 json 数据(使用 alert

[{"color": "#dddd00", 
"data": [[-0.5, -20.5]], 
"label": "Tweede Zandlaag"}]

对象有更多数据,但问题不在于对象。当我将数据直接复制/粘贴到函数var series = [] 中时,行为与方面相同。作为方面的手段,我用flot 绘制的图形实际上是在绘制的。否则图形保持为空。

function my_test_flot(dat) {
    function MyFormatter(v, xaxis) {
        return " ";
    }
    $(function () {
        alert(dat)
        var series = dat; // here lies the problem, but why?
        ...

有人可以帮忙吗?

【问题讨论】:

  • 我认为您遗漏了很多信息。比如my_test_flot是怎么调用的?我认为您根本不必在函数内部使用ready 事件处理程序(假设$ 指的是jQuery)。
  • 这个问题很混乱,请添加更多代码或更好地解释您的意思。
  • 你忘记解释问题了。另外,您确定它是 JSON(一种字符串格式),而不是 Javascript 对象吗?
  • 好的,添加了一些解释。希望这能让它更清楚。

标签: javascript variable-assignment


【解决方案1】:

好的,问题解决了。显然你必须使用JSON.parse()here 解释了它是如何完成的。

【讨论】:

    【解决方案2】:

    这不会复制数据 - 它只是使series 成为对与dat 相同的对象的引用。因此,如果您稍后修改对象,所有保留对它的引用的用户都会看到更改。这可能是造成您麻烦的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-19
      • 1970-01-01
      • 2014-05-11
      • 2019-08-19
      • 2021-11-28
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      相关资源
      最近更新 更多