【发布时间】:2020-03-13 10:23:39
【问题描述】:
我正在使用 Figma API 并且正在解析一些 JSON (这不是我的整个 JSON 文件)。关于 JSON 文件的一点上下文:
- 这些 JSON 对象都不相邻。
- 所有 JSON 对象都属于对象,但它们按顺序出现
- 它们是无限数量的
absoluteBoundingBox - 和
absoluteBoundingBox可以使用其他名称,我不确定 名称是什么或将是什么。
我遇到的问题是:
- 我需要遍历每个
absoluteBoundingBox - 给
absoluteBoundingBox一个唯一的id - 和它自己的
xy和width和height变量` - 将这些存储在一个新变量中,以便该变量包含
每次出现
absoluteBoundingBox时都需要创建对象。
我知道这是一项很大的工作。但我需要知道从哪里开始。
JSON
[{
id: "6:3",
absoluteBoundingBox: [{
x: -406,
y: -274,
width: 437,
height: 56
}]
}],
[{
id: "10:3",
absoluteBoundingBox: [{
x: -406,
y: -201,
width: 437,
height: 56
}]
}],
[{
id: "10:4",
absoluteBoundingBox: [{
x: -406,
y: -122,
width: 437,
height: 56
}]
}],
[{
id: "10:5",
absoluteBoundingBox: [{
x: -406,
y: -28,
width: 437,
height: 56
}]
}]
JS
const frameJSON = {};
const getFrame =
args.document["children"][0]["children"][0]["absoluteBoundingBox"];
var manyFrames = args.shift().filter(function(v) {
return args.every(function(a) {
return a.indexOf(v) !== -1;
});
});
var FrameID = {};
var textHeight = [];
var textWidth = [];
var textY = [];
var textX = [];
var FrameID = [];
var frameSize = getFrame.keys(getFrame).length;
frameJSON.getFrame = [];
for (b; b > frameJSON; b++) {
if (b < getFrame.frameSize) {
[x] = frameJSON.getFrame.push(getFrame[b].x);
[y] = frameJSON.getFrame.push(getFrame[b].y);
[width] = frameJSON.getFrame.push(getFrame[b].width);
[height] = frameJSON.getFrame.push(getFrame[b].height);
[id] = frameJSON.getFrame.push(getFrame[b].id);
}
}
返回什么
\ 现在我在我的 FrameJSON OBJECT 中返回这些变量我想创建至少 4 个 FrameJSON 对象。
我试过了:
const getFrame =
args.document["children"][0]["children"][0]["absoluteBoundingBox"];
const listOfFrames = []
//https://stackoverflow.com/questions/52672037/js-multiple-objects-in-an-array-stored-in-local-storage
getFrame.push('absoluteBoundingBox');
getFrame.push('id');
showList.concat(JSON.parse(localStorage.getItem('listOfFrames')))
localStorage.setItem("listOfFrames", JSON.stringify(listOfFrames));
为了获取帧列表,但代码没有像我预期的那样运行。
【问题讨论】:
标签: javascript json regex loops oauth-2.0