Firebase - JSON 发送的对象结果已转义
Firebase - JSON sent object results escaped
当我 .set(jsonObject)
进入 Firebase DB 时,使用 angularfire2,对象被转义(在每个双引号前添加反斜杠)。
当我手动将 jsonObject
添加到 DB(console.firebase.google.com) 时,一切正常。
let obj = {
key0 : 0,
key1 : 1
};
console.log(obj);
let jsonObject = JSON.stringify(obj);
console.log(jsonObject);
// af is AngularFire instance
af.database.object("/myList/0").set(jsonObject)
Firebase 数据库控制台中的结果是:"{\"key0\":0,\"key1\":1}"
但是当我转到 Firebase 数据库控制台并将转义对象替换为 console.log(jsonObject)
中的值时,我得到了预期的结果。
有什么问题?
谢谢
如果您以这种方式设置值:
let obj = {
key0 : 0,
key1 : 1
};
let jsonObject = JSON.stringify(obj);
af.database.object("/myList/0").set(jsonObject);
/myList/0
处的值将是一个字符串:
{"key0":0,"key1":1}
控制台中显示的值将显示为JSON。当格式化为 JSON 时,上面的字符串值将是:
"{\"key0\":0,\"key1\":1}"
如果您使用对象而不是 JSON 字符串设置值,您应该会看到预期的行为:
let obj = {
key0 : 0,
key1 : 1
};
af.database.object("/myList/0").set(obj);
当我 .set(jsonObject)
进入 Firebase DB 时,使用 angularfire2,对象被转义(在每个双引号前添加反斜杠)。
当我手动将 jsonObject
添加到 DB(console.firebase.google.com) 时,一切正常。
let obj = {
key0 : 0,
key1 : 1
};
console.log(obj);
let jsonObject = JSON.stringify(obj);
console.log(jsonObject);
// af is AngularFire instance
af.database.object("/myList/0").set(jsonObject)
Firebase 数据库控制台中的结果是:"{\"key0\":0,\"key1\":1}"
但是当我转到 Firebase 数据库控制台并将转义对象替换为 console.log(jsonObject)
中的值时,我得到了预期的结果。
有什么问题?
谢谢
如果您以这种方式设置值:
let obj = {
key0 : 0,
key1 : 1
};
let jsonObject = JSON.stringify(obj);
af.database.object("/myList/0").set(jsonObject);
/myList/0
处的值将是一个字符串:
{"key0":0,"key1":1}
控制台中显示的值将显示为JSON。当格式化为 JSON 时,上面的字符串值将是:
"{\"key0\":0,\"key1\":1}"
如果您使用对象而不是 JSON 字符串设置值,您应该会看到预期的行为:
let obj = {
key0 : 0,
key1 : 1
};
af.database.object("/myList/0").set(obj);