有没有办法将 JavaScript 对象保存到 JSON 文件中,我可以选择保存它的目录吗?

Posted

技术标签:

【中文标题】有没有办法将 JavaScript 对象保存到 JSON 文件中,我可以选择保存它的目录吗?【英文标题】: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? 【发布时间】: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 本地存储”,这是一种存储与您的网站域相关联的字符串的方法,您可以稍后再调用它们。 【参考方案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/。

【讨论】:

以上是关于有没有办法将 JavaScript 对象保存到 JSON 文件中,我可以选择保存它的目录吗?的主要内容,如果未能解决你的问题,请参考以下文章

在 JavaScript 中,有没有办法将 Web 套接字消息的处理推迟到设置标志之前?

仅使用 Javascript 将画布图像保存到服务器

将 Gson 的 JsonObject 保存为没有 Members 对象的纯 Json 到 mongoDB

如何将数据库中的数据提取到 javascript 文件中并将其存储在数组中?

将数据保存到每个对象或人的 plist

如何在 Python 中将对象数组保存到文件中