【问题标题】:Is there a way to save a JavaScript object to a JSON file and can I choose the directory in which it is saved in?有没有办法将 JavaScript 对象保存到 JSON 文件中,我可以选择保存它的目录吗?
【发布时间】:2021-09-10 05:01:13
【问题描述】:

我正在使用 AngularJS,我想知道如何将 JavaScript 对象保存到我可以命名并选择保存目录的 JSON 文件中。

我从表单中获取数据,然后使用该数据创建一个 JavaScript 对象,然后将其保存在变量 jsonClientEnregistre 中。

如何使用 jsonClientEnregistre 创建包含 JSON 格式对象的 JSON 文件?

myApp.controller('adminCtrl',function($scope, $http, $location){

$scope.submit = function() {

  var clientEnregistre = {
     numClient: parseInt($scope.numClient),
     rue: $scope.rue,
     numRue: parseInt($scope.numRue),
     codePostal: parseInt($scope.codePostal),
     localite: $scope.localite
    };
    var jsonClientEnregistre = JSON.stringify(clientEnregistre);
  }
});

【问题讨论】:

  • 您无法在浏览器中创建文件。
  • 您可以将内容保存到本地存储,但您不能直接访问客户端文件系统。
  • 哦,我明白了,所以我无法创建新文件,但我可以访问和写入现有文件 @Pointy ?
  • Google“MDN 本地存储”,这是一种存储与您的网站域相关联的字符串的方法,您可以稍后再调用它们。

标签: javascript json angularjs


【解决方案1】:

您可以使用window.showSaveFilePicker() 提示用户保存文件。

const obj = {
  name: 'Bob',
  toys: ['Car', 'Train'],
  age: 4
}

const save = async () => {
  const handle = await showSaveFilePicker()
  const writer = await handle.createWritable()
  await writer.write(JSON.stringify(obj))
  await writer.close()
}

这里是repl的链接:https://replit.com/@Programmerraj/show-save-file-picker#script.js

您必须在新选项卡中打开它才能使 repl 工作:https://show-save-file-picker.programmerraj.repl.co/

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2012-04-18
    • 2019-06-21
    • 1970-01-01
    相关资源
    最近更新 更多