以下是数据
{
"items": [
{
"sys": { "id": " 01/03/1997" },
"fields": {
"title": "First title",
"p": "paragraph 1.",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "2 01/03/1997" },
"fields": {
"title": "First Blog Post",
"p": "paragraph 2",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "3 01/03/1997" },
"fields": {
"title": "First Blog Post 1",
"p": "paragraph 3",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "4 01/03/1997" },
"fields": {
"title": "First Blog Post 2",
"p": "paragraph 4",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "8 01/03/1997" },
"fields": {
"title": "First Blog Post 3",
"p": "paragraph",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
}
]
}我试图在服务器端遍历这些数据,并获得一个特定的键值。
for (var i = 0; i < jsonObj.items.length; i++) {
var currentObject = jsonObj.items[i].fields
for(var title in currentObject){
if(currentObject.hasOwnProperty(title)) {
// console.log(title + ': ' + currentObject[title]);
// console.log(currentObject[i]);
// console.log(`${title}`);
// var pageTitle = currentObject[title];
// console.log(pageTitle);
var pageTitle = currentObject[title];
console.log(currentObject[title]);
}
}
console.log(currentObject[title]);
}
fs.appendFile( './public/html/' + `${title}` + '.html', `file.html`
, function (err) {
if (err) throw err;
console.log('Saved!');
});它一直在输出
First title
paragraph 1.
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
First Blog Post
paragraph 2
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
First Blog Post 1
paragraph 3
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
First Blog Post 2
paragraph 4
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
First Blog Post 3
paragraph
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }
{ fields: { file: { url: '../../images/cheap-skateboards.png' } } }并创建文件image.html,该文件是数组中的最后一个关键字。如何获得要输出的标题的第一个键?我想在服务器上创建一个新文件,文件名为这些标题。
发布于 2020-06-25 08:08:13
我没有很好地理解它,也许你可以澄清一下,我假设你想要title作为键,url作为值,是这样吗?
那么一个简单的map就足够了。
只是要小心,因为key不能有重复的值,而且你可能会有重复的标题。
var jsonObj = {
"items": [
{
"sys": { "id": " 01/03/1997" },
"fields": {
"title": "First title",
"p": "paragraph 1.",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "2 01/03/1997" },
"fields": {
"title": "First Blog Post",
"p": "paragraph 2",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "3 01/03/1997" },
"fields": {
"title": "First Blog Post 1",
"p": "paragraph 3",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "4 01/03/1997" },
"fields": {
"title": "First Blog Post 2",
"p": "paragraph 4",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
},
{
"sys": { "id": "8 01/03/1997" },
"fields": {
"title": "First Blog Post 3",
"p": "paragraph",
"image": { "fields": { "file": { "url": "../../images/cheap-skateboards.png" } } }
}
}
]
};
var newObject = jsonObj.items.map((x) => {
const o = {}; // create the object
o[x.fields.title] = x.fields.image.fields.file.url; // assign the key and value
return o; // return the new object
});
console.log(newObject); // print
然后您可以使用以下命令简单地遍历该newObject
Object.keys(newObject).forEach(title => {
const url = newObject[title]
})https://stackoverflow.com/questions/62565825
复制相似问题