我正在研究AngularJS。 在项目的这一部分中,我的目标是在填写带有一些细节值的表单后获取JSON结构。
这是我简单形式的小提琴:Fiddle
使用表单我将查询KairosDB,即我的NoSql数据库,我将通过JSON对象查询它的数据。表单的结构是这样的:
填写此表单后,我将使用我的代码获取此JSON对象:
{
"metrics": [
{
"tags": [
{
"id": "ch",
"value": "932"
},
{
"id": "ch",
"value": "931"
}
],
"aggregators": {
"name": "sum",
"sampling": [
{
"value": "1",
"unit": "milliseconds",
"type": "SUM"
}
]
}
}
],
"cache_time": 0,
"start_absolute": 123,
"end_absolute": 1234
}
不幸的是,KairosDB接受了不同的结构,正如您所看到的,Tag id“ch”之前没有“id”字符串,或者例如,来自相同标记id的Tag值被组合在一起
{
"metrics": [
{
"tags": {
"ch": [
"932",
"931"
]
},
"name": "AIENR",
"aggregators": [
{
"name": "sum",
"sampling": {
"value": "1",
"unit": "milliseconds"
}
}
]
}
],
"cache_time": 0,
"start_absolute": 1367359200000,
"end_absolute": 1386025200000
}
我的问题是:有没有办法获得像Kairos DB用Angular JS表单接受的JSON结构?谢谢大家。 我已经看到这个topic与我的相似,但它不在AngularJS中。
答案 0 :(得分:1)
就个人而言,我会在后端进行重构工作 - 让服务器接口发送和接收数据做什么操作 - 否则你最终需要在Angular中的任何想要使用该数据集的位置重构数据。
在后端执行此操作会将其放在单个访问点中。
当然,您可以在Angular中执行此操作,只需使用数组副本替换userString
方法中的submitData
,并使用新格式的数据替换tags部分,同样重构收到回复后,将结果返回正确的格式。