Nie jestem ogólnie nieznany z Nodejsem i JavaScript.

Mam następujący kod, którego potrzebuję, aby przejść jako zmienna w 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"
          }
        ]
      }
    }

Dotychczas udało mi się to zrobić:

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

Które działa, ale nie wiem, jak prawidłowo przekazać część "sztuki" i "backgroundimage". Próbowałem wszelkiego rodzaju rzeczy, ale żaden z nich nie pracował.

0
omega1 4 czerwiec 2018, 16:04

3 odpowiedzi

Najlepsza odpowiedź

Zasadniczo wykonany jest taki sam sposób, jak wysłałeś dane 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'
            }
        ]
    }
};

Tylko różnica polega na tym, że po określeniu zmiennej metadata używasz =, ale kiedy masz do czynienia z nieruchomościami w obiekcie metadata (nawet jeśli same właściwości są obiektami), ty Użyj :, aby je ustawić.

1
Enslev 4 czerwiec 2018, 13:11

NodeJs akceptuje cały obiekt JSON. Prosto

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"
          }
        ]
      }
    }
1
Abhra Dasgupta 4 czerwiec 2018, 13:12

Oczywiście pozostałe odpowiedzi są poprawne, ponieważ możesz po prostu umieścić tam JSON, jak w twoim przykładzie. Ale jeśli musisz "generować" swojego JSON, możesz iść inny sposób.

Wygenerujesz obiekty z "dołu" na "Top" i po prostu przypisz je do właściwości obiektu "rodzica".

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

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

Lub

metdata["art"] = art

W cenie wykorzystałem różne sposoby napisania różnych właściwości obiektu, aby pokazać różne sposoby, aby to zrobić. Wszystkie są (mniej lub bardziej) użyciem równego końca, zależy od osobistych preferencji.

1
Torsten Link 4 czerwiec 2018, 13:18