Json Firebase部署错误:database.rules不是对象类型

Json 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

我运行了firebase init并做了一个项目

firebase.json

{
  "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不起作用,我不理解错误消息。但现在它的工作非常完美非常令人兴奋!我可以接受你的回答。