不能#include in illustrator脚本代码
Can't #include in illustrator script code
我正在尝试阅读 JSON file,以便根据 JSON 文件中的数据对 Illustrator 文档进行更改。
我试过这段代码:
#include 'libs/json2.js';
function readJSONFile(file) {
file.open("r");
var data = file.read();
file.close();
data = JSON.parse(data);
for(var i in data) {
$.writeln(i + "=" + data[i]);
}
}
function getCorrections()
{
const corrections = readJSONFile(File('C:/corrections.json'));
alert(corrections);
}
getCorrections();
但是当我 运行 Illustrator 中的脚本时,它给我一个错误提示 "JSON is undefined"
所以,我尝试使用 #import
,就像我在其他 Whosebug 线程中看到的那样,但 Illustrator 似乎不接受该语法。
#include 'libs/json2.js';
我收到这个错误:
Error 23: ) does not not have a value.
Line: 1
-> ()
我很乐意在将外部库导入我的脚本时获得一些帮助,谢谢。
试试这个:
// @include 'libs/json2.js'
但实际上这两种变体都适合我。 #includes
是 Illustrator 的有效选项。
可能是你的数据有问题。如果您提供约会样本,我可以尝试解析它。
这是适合我的完整代码:
#include 'libs/json2.js';
var file = File('d:/Whosebug/jsx/json/test.json'); // <-- a full path!!!
readJSONFile(file);
function readJSONFile(file) {
file.open("r");
var data = file.read();
file.close();
data = JSON.parse(data);
for (var i in data) {
$.writeln(i + "=" + data[i]);
}
}
test.json
文件:
{
"patches": [
{
"patchName": "N0",
"offsetL": "1",
"offsetA": "-1",
"offsetB": "2"
},
{
"patchName": "N1",
"offsetL": "1",
"offsetA": "-1",
"offsetB": "2"
}
]
}
一切正常:
检查 json 文件的路径。
您可以通过以下方式获取包含当前脚本的文件夹:
var script_folder = File($.fileName).parent;
alert(script_folder); // 'd/Whosebug/jsx/json' in my case
我正在尝试阅读 JSON file,以便根据 JSON 文件中的数据对 Illustrator 文档进行更改。
我试过这段代码:
#include 'libs/json2.js';
function readJSONFile(file) {
file.open("r");
var data = file.read();
file.close();
data = JSON.parse(data);
for(var i in data) {
$.writeln(i + "=" + data[i]);
}
}
function getCorrections()
{
const corrections = readJSONFile(File('C:/corrections.json'));
alert(corrections);
}
getCorrections();
但是当我 运行 Illustrator 中的脚本时,它给我一个错误提示 "JSON is undefined"
所以,我尝试使用 #import
,就像我在其他 Whosebug 线程中看到的那样,但 Illustrator 似乎不接受该语法。
#include 'libs/json2.js';
我收到这个错误:
Error 23: ) does not not have a value.
Line: 1
-> ()
我很乐意在将外部库导入我的脚本时获得一些帮助,谢谢。
试试这个:
// @include 'libs/json2.js'
但实际上这两种变体都适合我。 #includes
是 Illustrator 的有效选项。
可能是你的数据有问题。如果您提供约会样本,我可以尝试解析它。
这是适合我的完整代码:
#include 'libs/json2.js';
var file = File('d:/Whosebug/jsx/json/test.json'); // <-- a full path!!!
readJSONFile(file);
function readJSONFile(file) {
file.open("r");
var data = file.read();
file.close();
data = JSON.parse(data);
for (var i in data) {
$.writeln(i + "=" + data[i]);
}
}
test.json
文件:
{
"patches": [
{
"patchName": "N0",
"offsetL": "1",
"offsetA": "-1",
"offsetB": "2"
},
{
"patchName": "N1",
"offsetL": "1",
"offsetA": "-1",
"offsetB": "2"
}
]
}
一切正常:
检查 json 文件的路径。
您可以通过以下方式获取包含当前脚本的文件夹:
var script_folder = File($.fileName).parent;
alert(script_folder); // 'd/Whosebug/jsx/json' in my case