我想在用户登录时创建一个登录系统 在登录用户的电子邮件ID中,我想检索EID。
我想要的JSON结构是:
<script type="text/javascript">
/* test in my own jsp file with isELIgnored="false"
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
*/
<% request.getSession().setAttribute("author", "Vincent"); %>
var author = "<%= request.getSession().getAttribute("author") %>";
alert(author);
author = "${sessionScope.author}";
alert(author);
</script>
我尝试将具有上述结构的JSON文件导入Firebase项目数据库,但收到错误提示“./ ...”不能成为密钥的一部分。
答案 0 :(得分:2)
我遇到了同样的限制,我更换了&#39;。&#39;用&#39; __ dot __&#39;将电子邮件ID作为密钥。
答案 1 :(得分:2)
一个字符替换另一个字符可能会导致混乱,并可能在将来引起严重问题。
对于该实例,暂时可以将.
替换为_DOT_
。以后说您要取回原始电子邮件以进行验证; [没关系]我可以将_DOT_
替换为.
。如果有人收到电子邮件actual._DOT_@actualdot.com
解决方案是使用电子邮件哈希。我现在更喜欢md5。
因此结构应为:
{
"<md5 hash of 'joel@dept.com'>": {
"EID":"0153"
},
"<md5 hash of 'Stan@dept.com'>": {
"EID":"0163"
}
}
答案 2 :(得分:0)
Firebase不支持。[] {}之类的字符,因此如果您想使用电子邮件作为主键生成,则必须替换.replace(“。”,“,”)