变量中的nodejs对象

时间:2018-06-04 13:04:29

标签: node.js var

我一般不熟悉nodejs和javascript。

我有以下代码需要在nodejs中作为变量传递:

"metadata": {
      "title": "title of the track to display",
      "subtitle": "subtitle of the track to display",
      "art": {
        "sources": [
          {
            "url": "https://url-of-the-album-art-image.png"
          }
        ]
      },
      "backgroundImage": {
        "sources": [
          {
            "url": "https://url-of-the-background-image.png"
          }
        ]
      }
    }

到目前为止我能够做到这一点:

var metadata = { 
    "title": "title of the track to display",
    "subtitle": "subtitle of the track to display"
    };

哪个有效,但我不知道如何正确传递“art”和“backgroundImage”部分。我尝试了各种各样的东西,但没有一个能奏效。

3 个答案:

答案 0 :(得分:1)

它基本上和你发布的json数据一样完成

const metadata = {
    title: 'title of the track to display',
    subtitle: 'subtitle of the track to display',
    art: {
        sources: [
            {
                url: 'http://url-of-the-album-art-image.png'
            }
        ]
    },
    backgroundImage: {
        sources: [
            {
                url: 'https://url-of-the-background-image.png'
            }
        ]
    }
};

唯一的区别是,当您定义变量metadata时,使用=,但是当您处理对象metadata中的属性时(即使属性本身是对象) ),您使用:进行设置。

答案 1 :(得分:1)

NodeJs接受整个JSON对象。所以简单地

var metadata = {
      "title": "title of the track to display",
      "subtitle": "subtitle of the track to display",
      "art": {
        "sources": [
          {
            "url": "https://url-of-the-album-art-image.png"
          }
        ]
      },
      "backgroundImage": {
        "sources": [
          {
            "url": "https://url-of-the-background-image.png"
          }
        ]
      }
    }

答案 2 :(得分:1)

当然其他答案是正确的,因为您可以像在示例中一样将JSON放在那里。但是如果你需要“生成”你的JSON,那么你可能需要采用不同的方式。

您可以将对象从“底部”生成到“顶部”,然后将它们分配给“父”对象的属性。

var sources = [
      {
        "url": "https://url-of-the-background-image.png"
      }
    ]

var art = {sources: sources}
metadata.art = art

metdata["art"] = art

我故意使用不同的方法来编写对象的不同属性,以向您展示执行此操作的不同方法。它们都是(或多或少)相同的最终用法取决于您的个人偏好。