如何将数据保存在json文件中?

时间:2018-09-08 13:03:59

标签: json node.js typescript angular6

使用.json将对象转换为字符串后,我需要将JSON数据保存到JSON.stringify文件中

这是我当前的代码:

const jsonObject: object = {
      'countryName': 'Switzerland',
      'users': [
        {
          'id': 1,
          'name': 'Basel',
          'founded': -200,
          'beautiful': true,
          'data': 123,
          'keywords': ['Rhine', 'River']
        },
        {
          'id': 1,
          'name': 'Zurich',
          'founded': 0,
          'beautiful': false,
          'data': 'no',
          'keywords': ['Limmat', 'Lake']
        }
      ]
    };

const myData = JSON.stringify(jsonObject);

注意:我想动态保存此数据,因此我习惯了jsonTypescript2的jsonConverter。

我尝试使用此方法:-

let a = document.createElement('a');

// JSON.stringify(jsonObject), 'ex.json' // another
a.setAttribute('href', 'data:application/json;charset=UTF-8,' + encodeURIComponent(myData));

2 个答案:

答案 0 :(得分:1)

您可以使用fs.js NPM模块将数据写入文件

filesystem API中有很多详细信息。据我所知,最常见的方法是:

var fs = require('fs');
fs.writeFile("/fileName.json", myData, function(err) {
    if(err) {
        return console.log(err);
    }

    console.log("The file was saved!");
}); 

答案 1 :(得分:-1)

好的,六天前,我发现了最佳解决方案,即如何在Angular 6和Node.js + json文件之间直接,动态地连接。

npm install file-saver --save
import { saveAs } from 'file-saver';


const jsonObject: object = {
      'City': [
        {
          'id': 1,
          'name': 'Basel',
          'founded': -200,
          'beautiful': true,
          'data': 123,
          'keywords': ['Rhine', 'River']
        },
        {
          'id': 1,
          'name': 'Zurich',
          'founded': 0,
          'beautiful': false,
          'data': 'no',
          'keywords': ['Limmat', 'Lake']
        }
      ]
    };


const blob = new Blob([JSON.stringify(jsonObject)], {type : 'application/json'});
saveAs(blob, 'abc.json');