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

Python操作Firebase Realtime Database时发送整数而非JSON文件的问题排查

问题原因

os.open() 返回的是文件描述符(整数),而非你需要的JSON内容。Firebase Realtime Database的post()方法接收到这个整数后,就直接把它作为数据存入了,这就是你看到数字“4”的原因。

解决方法

你需要先读取JSON文件的内容,解析为Python字典,再传给Firebase的post()方法。

修正后的代码示例:

import json
# 假设firebase是已配置好的实例

# 方法1:直接读取并解析JSON文件
with open('data/character.json', 'r') as f:
    data = json.load(f)
data_send = firebase.post('/', data)

# 方法2:先读取文本再解析(适用于需要预处理内容的场景)
with open('data/character.json', 'r') as f:
    json_str = f.read()
data = json.loads(json_str)
data_send = firebase.post('/', data)
额外注意点

你的character.json文件最后一个键值对后面多了个逗号:

{
    "username": "admin",
    "gender": "male",  // 这里的逗号建议去掉
}

虽然部分JSON解析器能兼容这种写法,但严格来说不符合JSON规范,可能导致解析失败,建议删除这个多余的逗号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:46:06