Json Firebase部署错误:database.rules不是对象类型
我运行了firebase init并做了一个项目 firebase.jsonJson Firebase部署错误:database.rules不是对象类型,json,firebase,Json,Firebase,我运行了firebase init并做了一个项目 firebase.json { "hosting": { "public": "public" }, "database": { "rules": "database.rules.json" } } 当我运行firebase部署时,我得到 === Deploying to 'shippymcshipface'... i deploying database, hosting + database: rule
{
"hosting": {
"public": "public"
},
"database": {
"rules": "database.rules.json"
}
}
当我运行firebase部署时,我得到
=== Deploying to 'shippymcshipface'...
i deploying database, hosting
+ database: rules ready to deploy.
i hosting: preparing public directory for upload...
+ hosting: 3 files uploaded successfully
i starting release process (may take several minutes)...
Error: database.rules is not of a type(s) object
这很奇怪,因为在同一个目录中,我自动生成了database.rules.json
"{\n \"rules\": {\n \".read\": true,\n \"users\": {\n \"usernames\": {\n \"$username\":{\n \".write\": true,\n \t//\".write\": \"!data.exists() || !newData.exists()\",\n \"chats\":{\n \".write\": true\n },\n \"location\":{\n \".write\": true\n }\n }\n }\n },\n \"chats\": {\n \".read\": true,\n \".write\": true\n },\n \"messages\": {\n \".read\": true,\n \".write\": true\n },\n \"crushes\": {\n \".read\": true,\n \".write\": true\n },\n \"uids\": {\n \".read\": true,\n \".write\": true\n },\n \"ships\": {\n \".read\": true,\n \".write\": true\n }\n }\n}"
不确定发生了什么,但我已经尝试过多次,甚至从我的数据库复制firebase规则并创建一个新的database.rules文件。我过去从未遇到过这个部署问题,有什么想法吗?也有类似的问题,生成的database.rules.json文件包含转义字符和新行字符,如下所示: “\n//这些规则为任何人,甚至不是您的 应用程序,\n//对数据库的读写访问权\n{\n\“规则\”:{\n
\“.read\”:true,\n\”.write\“:true\n}\n}” 我只需删除注释/非法字符即可创建有效的JSON文件:
{"rules":
{
".read":true,
".write":true
}
}
有一个类似的问题,生成的database.rules.json文件似乎包含转义字符和新行字符,如下所示: “\n//这些规则为任何人,甚至不是您的 应用程序,\n//对数据库的读写访问权\n{\n\“规则\”:{\n
\“.read\”:true,\n\”.write\“:true\n}\n}” 我只需删除注释/非法字符即可创建有效的JSON文件:
{"rules":
{
".read":true,
".write":true
}
}
看起来您的规则文件内容粘贴得有点奇怪,或者如果文件实际上就是这个样子,那么这就是您的问题所在——它是一个JSON字符串而不是JSON对象。@MichaelBleigh非常感谢!这就是完全的解决方案,我只是将JSON对象复制并粘贴到一个新文件中,并且必须更改权限,部署工作正常。生成的database.rules.json不起作用,我不理解错误消息。但现在它的工作非常完美非常令人兴奋!我可以接受你的回答。看起来你的规则文件内容粘贴得有点奇怪,或者如果这就是文件的实际外观,那就是你的问题——它是JSON字符串而不是JSON对象。@MichaelBleigh非常感谢!这就是完全的解决方案,我只是将JSON对象复制并粘贴到一个新文件中,并且必须更改权限,部署工作正常。生成的database.rules.json不起作用,我不理解错误消息。但现在它的工作非常完美非常令人兴奋!我可以接受你的回答。