You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中如何将设置对象与数组以BLOB形式读写JSON文件?

写入操作

要同时保存设置对象和数组,只需把两者包装成一个顶层对象再序列化即可:

  1. 构造包含设置和数组的复合对象
  2. 对复合对象做JSON序列化
  3. 生成Blob并保存为JSON文件

代码示例:

// 包装设置对象和数组为一个复合结构
const exportData = {
  settings: mySettingObject,
  dataList: myArrayObj
};

// 序列化后生成Blob并保存
const blob = new Blob([JSON.stringify(exportData)], { type: 'application/json' });
saveAs(blob, `${myFileName}.json`);
读取操作

读取时先解析整个JSON内容,再分别提取设置对象和数组:

  1. 读取文件内容并解析为JSON对象
  2. 从解析结果中取出settings和dataList属性
  3. (可选)如果需要将数组元素还原为myObj类实例,需手动转换(JSON序列化会丢失类原型信息)

代码示例:

const fileReader = new FileReader();
fileReader.onload = (e) => {
  const content = e.target?.result;
  if (typeof content === 'string') {
    // 解析整个复合对象
    const importedData = JSON.parse(content);
    
    // 提取设置对象
    const mySettingObject = importedData.settings;
    
    // 提取数组,可选转换为myObj实例
    const myArrayObj = importedData.dataList.map(item => {
      // 用Object.assign把普通对象属性赋值给新的myObj实例
      return Object.assign(new myObj(), item);
      // 或者如果myObj有接收参数的构造函数,可改用new myObj(item.propA, item.propB)
    });
  }
};
// 别忘了调用readAsText启动读取:fileReader.readAsText(yourFile);

内容的提问来源于stack exchange,提问作者simon thismyvoice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 14:52:07