我要迁移到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
}
我必须手动编写它,或者您知道执行此操作的任何工具?