首页 > 解决方案 > 在脚本中添加图像路径以从 json 文件中获取图像

问题描述

背景

我需要从下面的 json 文件的路径中获取图像:

{
  "path" : " shape\/",
  "info" : {
    "author" : ""   
  },
  "name" : "shape",
  "layers" : [
    {     
      "height" : 612,
      "layers" : [
        {         
          "name" : "bg_rectangle_1"
        },
        {         
          "height" : 475,
          "layers" : [
            {

              "src" : "http://sitename.com/images/oneheart.png",             
              "name" : "mask_image_1"
            },
            {              
              "name" : "useradd_ellipse1"
            }
          ],          
          "name" : "user_image_1"
        }
      ],      
      "name" : "loveshape_17"
    }
  ]
}

我用下面的代码成功地做到了:

var maskedImageUrla = "";

    $.getJSON('test.json', function(json) {
        for (let layer of json.layers) {
            if (layer.layers && layer.layers.length > 0) {
                for (let temp of layer.layers) {
                    if (temp.src) maskedImageUrla = temp.src;
                    else if (temp.layers) {
                        for (let tl of temp.layers)
                            if (tl.src) maskedImageUrla = tl.src;
                    }
                }
            }
        }

要求

在上面的 json 文件中,如果 src 是这样的:"src" : "oneheart.png"[而不是完整路径],那么如何获取图像?因为此路径中存在图像:http://sitename.com/images/oneheart.png

这是完整的脚本json 文件

标签: javascriptjqueryjson

解决方案


你可以改变这个

 if (tl.src) maskedImageUrla = tl.src;

对此

if(tl.src.includes('/')){
   maskedImageUrla = tl.src
} else {
   maskedImageUrla = `http://sitename.com/images/${tl.src}`
}

推荐阅读