所以从我读过的所有东西,全局安装了firebase-tools,我的Windows命令提示符在包含我的项目的文件夹中打开,一个正在运行的firebase.json文件(在firebase部署中工作正常)我应该能够运行以下命令覆盖我的firebase数据库的全部内容:
firebase database:set / database.json
但是对于database.json,我收到以下错误:
Error: HTTP Error: 400, Invalid data; couldn't parse JSON object, array, or value.
database.json包含以下内容:
{
"catalogue": {
"csi": {
"descriptionRoute": "csi",
"fileName": "ctk%20Currency%20Strength%20Indicator.algo",
"id": 1,
"imageUrl": "/images/csi.png",
"isFeatured": true,
"name": "Currency Strength Indicator",
"shortDescription": "Plots the relative strength of 8 major currencies as a line chart",
"type": "indicator"
},
"csh": {
"descriptionRoute": "csh",
"fileName": "ctk%20Currency%20Strength%20Heatmap.algo",
"id": 2,
"imageUrl": "/images/csh.png",
"isFeatured": true,
"name": "Currency Strength Heatmap",
"shortDescription": "Plots the relative strength of 8 major currencies as a heatmap",
"type": "indicator"
},
"ffc": {
"descriptionRoute": "ffc",
"fileName": "ctk%20FF%20Calendar.algo",
"id": 3,
"imageUrl": "/images/ffc.png",
"isFeatured": true,
"name": "Forex Factory Calendar",
"shortDescription": "Lists upcoming events from the Forex Factory RSS feed",
"type": "indicator"
},
"atrsl": {
"descriptionRoute": "atrsl",
"fileName": "ctk%20ATR%20Stop%20Loss%20Indicator.algo",
"id": 4,
"imageUrl": "/images/atrsl.png",
"isFeatured": false,
"name": "ATR Stop Loss Indicator",
"shortDescription": "Displays ATR and stop loss values based on your requirements.",
"type": "indicator"
},
"ha": {
"descriptionRoute": "ha",
"fileName": "ctk%20Heken%20Ashi.algo",
"id": 5,
"imageUrl": "/images/ha.png",
"isFeatured": false,
"name": "Heiken Ashi",
"shortDescription": "Paints Heiken Ashi candles on the host chart.",
"type": "indicator"
},
"hama": {
"descriptionRoute": "hama",
"fileName": "ctk%20Heken%20Ashi%20Moving%20Average.algo",
"id": 6,
"imageUrl": "/images/hama.png",
"isFeatured": false,
"name": "Heiken Ashi Moving Average",
"shortDescription": "Paints Heiken Ashi Moving Average on the host chart.",
"type": "indicator"
},
"psl": {
"descriptionRoute": "psl",
"fileName": "ctk%20Psych%20Levels%20.algo",
"id": 7,
"imageUrl": "/images/psl.png",
"isFeatured": false,
"name": "Psych Levels",
"shortDescription": "Draws lines at psychological levels that often form string Support and Resistance",
"type": "indicator"
}
}
}
我看不出有什么问题,我用Google搜索的一切表明它很好,但错误就是我能得到的。
所以我跑了
firebase database:get / > database2.json
具有以下结果:
{
"catalogue": [
null,
{
"descriptionRoute": "csi",
"fileName": "ctk%20Currency%20Strength%20Indicator.algo",
"id": 1,
"imageUrl": "/images/csi.png",
"isFeatured": true,
"name": "Currency Strength Indicator",
"shortDescription": "Plots the relative strength of 8 major currencies as a line chart",
"type": "indicator"
},
{
"descriptionRoute": "csh",
"fileName": "ctk%20Currency%20Strength%20Heatmap.algo",
"id": 2,
"imageUrl": "/images/csh.png",
"isFeatured": true,
"name": "Currency Strength Heatmap",
"shortDescription": "Plots the relative strength of 8 major currencies as a heatmap",
"type": "indicator"
},
{
"descriptionRoute": "ffc",
"fileName": "ctk%20FF%20Calendar.algo",
"id": 3,
"imageUrl": "/images/ffc.png",
"isFeatured": true,
"name": "Forex Factory Calendar",
"shortDescription": "Lists upcoming events from the Forex Factory RSS feed",
"type": "indicator"
},
{
"descriptionRoute": "atrsl",
"fileName": "ctk%20ATR%20Stop%20Loss%20Indicator.algo",
"id": 4,
"imageUrl": "/images/atrsl.png",
"isFeatured": false,
"name": "ATR Stop Loss Indicator",
"shortDescription": "Displays ATR and stop loss values based on your requirements.",
"type": "indicator"
}
]
}
然后不知不觉地跑了
firebase数据库:set / database2.json
并得到了同样的错误。我很难过,如果无法上传下载数据的格式,我需要哪种格式?
答案 0 :(得分:2)
我解决了这个问题,正如Bob Snyder暗示问题是文件的编码。
我最初是从Visual Studio 2017中的JSON文件模板创建的。要检查编码,我在NotePad ++中打开它,它显示编码为UTF-8-BOM。我在NP ++中将编码更改为UTF-8并运行了原始命令:
firebase database:set / database.json
它第一次工作,我的数据库被覆盖了。
因此,对于遇到此问题的其他人,请确保您的JSON文件的编码为UTF-8。