如何使用Firebase云函数解析嵌套键
我有一个数据结构,它有多个嵌套键,key1和key2 key1和key2的值未知,通常为某些GUID 如何从该结构中获取数据如何使用Firebase云函数解析嵌套键,firebase,firebase-realtime-database,google-cloud-functions,Firebase,Firebase Realtime Database,Google Cloud Functions,我有一个数据结构,它有多个嵌套键,key1和key2 key1和key2的值未知,通常为某些GUID 如何从该结构中获取数据 "key1": { "key2": { "name1":"value1", "name2":"value2", "sub1": { "sub1_name1":"sub1_value1",
"key1":
{
"key2": {
"name1":"value1",
"name2":"value2",
"sub1":
{
"sub1_name1":"sub1_value1",
"sub2_name2":"sub2_value2"
},
"name3":"value3"
}
}, .... more records following
我有以下代码提取一些数据,但之后我无法查询数据:
admin.database().ref('table_x/').once('value', (snapshot) => {
console.log(snapshot.key); //table_x
snapshot.forEach(function(child) {
var key1 = child.key; // this gives key1
// get key 2
// get key 2's values, children
像这样的
for (key in child) {
for (innerkey in child[key]) {
console.log(innerkey);
}
}
使用库develiantjs(),它们有一个很好的xslt模板实现,可以拉入数据集
一旦能够循环遍历数据结构,就可以使用库提供的xpath工具来运行特定的查询
JSON.search示例
data = [{
"key1": {
"key2": {
"name1": "value1",
"name2": "value2",
"sub1": {
"sub1_name1": "sub1_value1",
"sub2_name2": "sub2_value2"
},
"name3": "value3"
}
}}],
res1 = JSON.search(data, "//*[contains(name(), 'key')]/."),
res2 = JSON.search(data, "//*[contains(text(), 'sub')]/..");