尝试使用netsuite / celigo和第三者市场将API集成在一起。大部分JSON都不错,但无法使照片正常工作。它们必须作为数组传递,但是我们的每个项目都有不同数量的照片。我可以访问netsuite中的SQL表达式以及带有一些内置在Celigo中的函数的“ JSON文档构建器”。
这就是传递的信息的样子(我用伪造的URL替换了实际的URL)。因此,我需要一种方法来从数组中删除那些空白字段,这些空白字段当前显示为“”,
"photos": ["url.jpg", "url2.jpg", "", "", ],
“文档生成器”方面看起来像这样(看起来像Celigo的语法),同样有很多可用的功能,但没有使用,也不确定要使用哪个功能。
"photos":["{{this.0.Photo1}}", "{{this.0.Photo2}}", "{{this.0.Photo3}}", "{{this.0.Photo4}}",],
(照片3的netsuite字段为空)
我尝试仅连接所有url,但是它们将无法采用正确的数组格式,并且相同的问题仍然适用于字段为空白的多余字符。我必须避免更改将数据实际输入到NS字段的方式,因为这会破坏我们的其他集成。
答案 0 :(得分:1)
考虑到您有这个:"photos": ["url.jpg", "url2.jpg", "", "", ],
产生以下内容:"photos":["{{this.0.Photo1}}", "{{this.0.Photo2}}", "{{this.0.Photo3}}", "{{this.0.Photo4}}",],
您如何使用 Array.filter()?
let ob = {
//..other properties
photos: ["url.jpg", "url2.jpg", "", "", ]
}
ob.photos = ob.photos.filter(function(el) { return el });
编辑 按照erictgrubaugh的评论,似乎Netsuite运行了Ecmascript 5,因此lamnda将不起作用。我已将其更改为以前的JS版本