Paper.js中exportJSON的Options参数如何正确指定?
Paper.js exportJSON 精度控制的正确调用方式
问题描述
- 使用Paper.js生成绘图JSON字符串时,导出数值存在冗余精度(如
0被导出为0.0003、510.05被导出为510.05005) - 官方文档说明
exportJSON支持Options参数,包含asString(默认true)和precision(默认5)两个配置项,但尝试多种调用方式均报错 - 尝试过的错误调用方式:
json_vect_string = layer_wall_vector.exportJSON(true, 2); json_vect_string = layer_wall_vector.exportJSON(asString = true, precision = 2); json_vect_string = layer_wall_vector.exportJSON(options.asString = true, options.precision = 2);
正确调用方式
Paper.js的exportJSON方法仅接受单个对象类型的参数,需将配置项打包成对象传入:
简化写法(利用默认值)
因为asString默认值为true,如果只需要调整精度,可仅指定precision:
json_vect_string = layer_wall_vector.exportJSON({ precision: 2 });
完整写法(显式声明所有配置)
如果需要明确指定所有配置项,可写出完整的对象结构:
json_vect_string = layer_wall_vector.exportJSON({ asString: true, precision: 2 });
错误原因说明
- 第一种方式传入两个独立值,但方法不支持多参数,仅接受单个配置对象
- 第二种方式用赋值语句作为参数,不符合JavaScript语法规范,会触发语法错误
- 第三种方式未定义
options对象,且写法不是合法的对象字面量,属于语法错误
内容的提问来源于stack exchange,提问作者Caminolover
相关产品推荐
相关产品推荐

