簡體   English   中英

如何將js對象保存為JSON格式

[英]how to save js object to JSON format

我想將我的 JavaScript 對象保存到 JSON 文件中。 我已經這樣做了

const superagent = require('superagent');
const cheerio = require('cheerio');
const fs = require('fs');

var object = new Object();
var toJson = { articles: [] }; 
var arr = [];

// I obtain the data prior to this forEach loop.
// The data loading code is omitted, because it is too long to fit here.

data.forEach((val, index) => {
    const authorName = val.authorName;
    const articleDate = val.articleDate;
    const relateArticle = val.relateArticle;
    const relateArticleURL = val.relateArticleURL;  

    object.url = arr[1][index];
    object.title = arr[0][index];
    object.date = articleDate[0];
    object.author = authorName[0];

    toJson.articles.push(object);
});

var saveJson = JSON.stringify(toJson)

fs.writeFile('solution.json', saveJson, 'utf8', (err) => {
    if (err) {
        console.log(err)
    }
})

我希望結果看起來像這樣:

{
  "articles": [
    {
       "url": "...",
       "title": "...",
       "author": "...",
       "postingDate: "..."  
    }
  ]
}

但我得到的卻是這樣的:

{"articles":[{"url":"...","title":"...","author":"...","postingDate":"..."}]}

如何將對象保存到 JSON 文件中,但要保存為所需的格式? 任何答案將不勝感激。 先感謝您!

嘗試這個

 const superagent = require('superagent'); const cheerio = require('cheerio'); const fs = require('fs'); var object = new Object(); var toJson = { articles:[] }; var arr = []; // above this for each, is how i get the data. i don't put those code because it's too long. data.forEach((val, index)=>{ const authorName = val.authorName; const articleDate = val.articleDate; const relateArticle = val.relateArticle; const relateArticleURL = val.relateArticleURL; object.url = arr[1][index]; object.title = arr[0][index]; object.date = articleDate[0]; object.author = authorName[0]; toJson.articles.push(object); }); var saveJson = JSON.stringify(toJson, null, 4) fs.writeFile('solution.json', saveJson, 'utf8', (err)=>{ if(err){ console.log(err) } })

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM