我一般不熟悉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”部分。我尝试了各种各样的东西,但没有一个能奏效。
答案 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
我故意使用不同的方法来编写对象的不同属性,以向您展示执行此操作的不同方法。它们都是(或多或少)相同的最终用法取决于您的个人偏好。