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

如何将未修改的外部JSON文件导入Foundry/Slate并在代码沙箱调用?

解决方案:导入未修改的JSON文件至Foundry/Slate并在代码沙箱调用

先解决上传后JSON内容为空的问题

  • 检查文件编码:将JSON文件转为UTF-8无BOM格式(用VS Code等编辑器,右下角编码选项切换),Foundry对带BOM的UTF-8文件兼容性较差,易导致内容丢失。
  • 校验文件合法性:用本地JSON校验工具(比如VS Code的JSON语法检查)确认文件无语法错误、无隐藏不可见字符,避免上传解析失败。
  • 排查预览问题:上传后右键点击Foundry中的JSON文件选择「查看原始内容」,确认实际内容是否存在——有时是预览渲染bug,并非文件真的为空。
  • 排除上传中断:确保上传过程网络稳定,无页面刷新或中断,大文件可拆分后尝试上传。

正确导入并在代码沙箱调用的方法

Foundry 操作步骤

  1. 导入JSON文件:上传时务必勾选「作为原始文件上传,不修改扩展名(推荐)」,将文件放在代码沙箱可访问的目录(如与沙箱脚本同目录,或专门的资源目录)。
  2. 代码沙箱调用示例
    • Python沙箱:
      import json
      import os
      
      # 读取同目录下的JSON文件
      json_file_path = os.path.join(os.getcwd(), "target.json")
      with open(json_file_path, "r", encoding="utf-8") as f:
          json_data = json.load(f)
      # 调用数据示例
      print(json_data["key_name"])
      
    • JavaScript沙箱:
      const fs = require('fs');
      const path = require('path');
      
      const jsonPath = path.join(__dirname, 'target.json');
      fs.readFile(jsonPath, 'utf8', (err, rawData) => {
          if (err) throw err;
          const jsonData = JSON.parse(rawData);
          // 调用数据示例
          console.log(jsonData.key_name);
      });
      

Slate 操作步骤

  1. 导入JSON文件:在Slate资产库中上传文件时选择「原始文件」选项,禁止Slate自动解析为其他格式。
  2. 代码沙箱调用示例(JavaScript):
    import fs from 'fs';
    // 读取资产库中的JSON文件
    const rawData = fs.readFileSync('./assets/target.json', 'utf8');
    const jsonData = JSON.parse(rawData);
    // 调用数据示例
    console.log(jsonData.key_name);
    

额外排查点

  • 权限设置:确保代码沙箱拥有该JSON文件的读取权限,Foundry中可通过文件的「权限」面板调整。
  • 文件命名:避免使用特殊字符、空格作为文件名,改用下划线或短横线,防止路径解析错误。

内容的提问来源于stack exchange,提问作者Gabriel Gomes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:15:59