首页 > 解决方案 > Photoshop 脚本数组到 json

问题描述

我想获取 json 文档中的所有图层。这是我的代码:

#include json2.js
var doc = app.activeDocument;
var allLayers = [];
var allLayers = collectAllLayers(doc, allLayers);

function collectAllLayers (doc, allLayers){
    for (var m = 0; m < doc.layers.length; m++){
        var theLayer = doc.layers[m];
        if (theLayer.typename === "ArtLayer"){
            allLayers.push(theLayer);
        }else{
            collectAllLayers(theLayer, allLayers);
        }
    }
    return allLayers;
}
var json = JSON.stringify(allLayers);

alert(json);

我的努力var json = JSON.stringify(allLayers);没有用。我想allLayers改成json。感谢您提前帮助解答!

标签: javascriptjsonphotoshop

解决方案


JSON 不支持 Photoshop 使用的某些类型(File例如),因此 JSON 化某些 Photoshop DOM 对象将不起作用。您需要修改json2.js或创建自己的解析器,该解析器将创建一个 jsonable 对象。


推荐阅读