从RealTimeDatabase到Firestore,我无法发布传统的JSON

时间:2019-02-22 12:59:02

标签: firebase google-cloud-firestore

我要迁移到Firestore。我需要将通过服务器生成的JSON文件中的数据通过cURL发布到Firestore。

使用RealTimeDatabase,我可以将整个JSON传递给firebase,但是使用Firestore是不可能的。

我有一个非常嵌套的JSON,一个例子:

{
    "metaLiturgia": {
        "fecha": "Viernes 22 de febrero del 2019",
        "tiempo": "PROPIO DE LOS SANTOS",
        "semana": "",
        "mensaje": "",
        "salterio": ""
    },

    "intermedia": {
        "himno": {
            "texto": "Oh Jesús, que en tu cruz has demostrado~tu gran amor, tu gran misericordia,~y tu fuerza nos das para seguirte~por el mismo camino hacia la gloria.§Que fielmente cumplamos en tu Iglesia~nuestra parte en tu obra salvadora,~y, al llegar a la tarde de la vida,~en gozo eterno el Padre nos acoja.§Gracias, Padre, a ti porque nos llamas,~a Jesús, que en su sangre nos redime,~y al Espíritu, luz y guía~de este pueblo que al cielo se dirige. Amén."
        },

        "salmodia": {
            "tipo": "0",

            "salmoCompleto": [{
                "orden": "1",
                "antifona": "Que tu bondad me consuele según tu promesa.",
                "ref": "Salmo 118, 73-80",
                "tema": "",
                "intro": "",
                "parte": "",
                "salmo": "Tus manos me hicieron y me formaron:~instrúyeme para que aprenda tus mandatos;~tus fieles verán con alegría~que he esperado en tu palabra;~reconozco, Señor, que tus mandamientos son justos,~que con razón me hiciste sufrir.§Que tu bondad me consuele,~según la promesa hecha a tu siervo;~cuando me alcance tu compasión, viviré,~y mis delicias serán tu voluntad;~que se avergüencen los insolentes del daño que me hacen;~yo meditaré tus decretos.§Vuelvan a mí tus fieles~que hacen caso de tus preceptos;~sea mi corazón perfecto en tus leyes,~así no quedaré avergonzado."
            }, {
                "orden": "2",
                "antifona": "Protégeme de mis enemigos, Dios mío.",
                "ref": "Salmo 58, 2-6a. 10-11. 17-18",
                "tema": "Oración pidiendo la protección de Dios ante los enemigos",
                "intro": "Estas súplicas expresan la confianza~del Salvador ante su Padre.~(Eusebio de Cesarea)",
                "parte": "",
                "salmo": "Líbrame de mi enemigo, Dios mío;~protégeme de mis agresores,~líbrame de los malhechores,~sálvame de los hombres sanguinarios.§Mira que me están acechando,~y me acosan los poderosos:~sin que yo haya pecado ni faltado,~Señor, sin culpa mía, avanzan para acometerme.§Despierta, ven a mi encuentro, mira:~tú, el Señor de los ejércitos,~el Dios de Israel.§Estoy velando contigo, fuerza mía,~porque tú, ¡oh Dios!, eres mi alcázar.§Que tu favor se adelante, ¡oh Dios!,~y me haga ver la derrota del enemigo.§Pero yo cantaré tu fuerza,~por la mañana aclamaré tu misericordia;~porque has sido mi alcázar~y mi refugio en el peligro.§Y tocaré en tu honor, fuerza mía,~porque tú, ¡oh Dios!, eres mi alcázar."
            }, {
                "orden": "3",
                "antifona": "Dichoso el hombre a quien corrige Dios, porque él hiere y venda la herida.",
                "ref": "Salmo 59",
                "tema": "Oración después de una calamidad",
                "intro": "En el mundo tendréis luchas, pero tened valor:~Yo he vencido al mundo.~(Jn 16,33)",
                "parte": "",
                "salmo": "¡Oh Dios!, nos rechazaste y rompiste muestras filas;~estabas airado, pero restáuranos.~Has sacudido y agrietado el país:~repara sus grietas, que se desmorona.§Hiciste sufrir un desastre a tu pueblo,~dándole a beber un vino de vértigo;~diste a tus fieles la señal de desbandada,~haciéndolos huir de los arcos.§Para que se salven tus predilectos,~que tu mano salvadora nos responda.§Dios habló en su santuario:~«Triunfante ocuparé Siquém,~parcelaré el valle de Sucot;§mío es Galaad, mío Manasés,~Efraím es yelmo de mi cabeza,~Judá es mi cetro;§Moab, una jofaina para lavarme;~sobre Edom echo mi sandalia,~sobre Filistea canto victoria.»§Pero ¿quién me guiará a la plaza fuerte,~quién me conducirá a Edom,~si tú, ¡oh Dios!, nos has rechazado~y no sales ya con nuestras tropas?§Auxílianos contra el enemigo,~que la ayuda del hombre es inútil.~Con Dios haremos proezas,~él pisoteará a nuestros enemigos."
            }]

        },

        "lecturaBreve": {
            "ref": "2Pe 1, 16",
            "texto": "No os hemos dado a conocer el poder y la venida de nuestro Señor Jesucristo por haber dado crédito a sutiles quimeras, sino porque fuimos testigos oculares de su grandeza y majestad.",
            "responsorio": "Estad alegres, dice el Señor. Aleluya.|Porque vuestros nombres están inscritos en el cielo. Aleluya.",
            "forma": "201"
        },

        "oracion": "Dios todopoderoso,~no permitas que seamos sacudidos por ninguna perturbación~quienes hemos sido afianzados~sobre la roca de la confesión apostólica.~Por nuestro Señor Jesucristo."
    }
}

如果我想将此数据发布到Firestore,则需要将JSON编写为:

{
    "fields": {
        "metaLiturgia": {
            "mapValue": {
                "fields": {
                    "fecha": {
                        "stringValue": "fecha2"
                    },
                    "semana": {
                        "stringValue": "semana2"
                    }
                }
            }
        }
    }
    ... etc
}

我必须手动编写它,或者您知道执行此操作的任何工具?

0 个答案:

没有答案