【问题标题】:Not creating json object不创建 json 对象
【发布时间】:2015-07-22 10:10:40
【问题描述】:

我在玩 fabric js,我似乎找不到创建/查看 json 对象的方法

var canvas = new fabric.Canvas('c');

canvas.add(new fabric.Rect({ 
  left: 100, 
  top: 100, 
  width: 50, 
  height: 50, 
  fill: '#faa', 
  originX: 'left', 
  originY: 'top',
  centeredRotation: true
}));

canvas.add(new fabric.Circle({ 
  left: 300, 
  top: 300, 
  radius: 50, 
  fill: '#9f9', 
  originX: 'left', 
  originY: 'top',
  centeredRotation: true
}));

var w = canvas.toJSON();

http://jsfiddle.net/8t4k1xkc/1/

我也尝试过 JSON.stringify,但将循环结构转换为 json 错误

【问题讨论】:

    标签: javascript json fabricjs


    【解决方案1】:

    您在问题中编写的代码有效,您可以使用JSON.stringify(w) 将其转换为字符串,也可以简单地调用JSON.stringify(canvas)(stringify 将为您调用toJSON)。

    JSFiddle 上的那个不是,你调用 canvas.toJSON(c),错了,这样你在结果 JSON 中附加了额外的属性,在这种情况下是同一个画布(c,由浏览器自动创建的全局变量对于带有 id="c" 的 html 元素),因此循环结构错误。

    official documentation

    toJSON(propertiesToInclude)

    返回画布的 JSON 表示

    参数:

    • propertiesToInclude (Array):任何你可能想要的属性 想要另外包含在输出中

    【讨论】:

    • 糟糕,我以为我救了那个小提琴。实际上仍然没有工作,但我很肯定你是对的。一定是我这边的东西。谢谢老哥
    猜你喜欢
    • 2018-10-08
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 2021-12-30
    • 2013-08-28
    • 2021-07-16
    • 2011-03-17
    相关资源
    最近更新 更多