объекты nodejs внутри переменных - PullRequest
0 голосов
/ 04 июня 2018

Я вообще незнаком с 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 голосов
/ 04 июня 2018

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"
          }
        ]
      }
    }
0 голосов
/ 04 июня 2018

Конечно, другие ответы верны в том смысле, что вы можете просто вставить туда свой JSON, как в вашем примере.Но если вам нужно «сгенерировать» свой JSON, возможно, вам придется пойти другим путем.

Вы генерируете объекты снизу вверх и просто назначаете их свойствам своего родительского объекта.

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

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

или

metdata["art"] = art

Я специально использовал разные способы для написания различных свойств объекта, чтобы показать вам разные способы сделать это.Все они (более или менее) имеют одинаковое конечное использование в зависимости от ваших личных предпочтений.

0 голосов
/ 04 июня 2018

В основном это делается так же, как и данные 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 (даже если сами свойства являются объектами), вы используете : для их установки.

...