我有来自API的查询响应,如下所示:
{
"code":200,
"message":"OK",
"profiling":null,
"count":6,
"skip":0,
"limit":50,
"next_page":null,
"previous_page":null,
"additional_meta":{
"$and":[
{
"deleted":false
},
{
"$or":[
{
"holder_id":{
"$id":"5543677f37c6b65f008b46e4"
}
},
{
"root.holder._id":{
"$id":"5543677f37c6b65f008b46e4"
}
}
]
}
]
},
"data":[
{
"_id":"5825c6f6de22ae00632e86f3",
"ean":"659842",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"5824790e3d214b006271c515",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:26:14+0000",
"children":[
],
"address":"Kungsgatan 2",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"heat",
"consumption_stats":{
"energy":{
"hour":{
"count":26275,
"sum":6546140,
"max":930,
"last":2016123021,
"min":0,
"first":2014010101
},
"day":{
"count":1091,
"sum":6522120,
"max":18900,
"last":20161229,
"min":1180,
"first":20140102
},
"month":{
"count":33,
"sum":5727310,
"max":387190,
"last":201708,
"min":49750,
"first":201402
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
},
{
"_id":"5825c76920fe9b006308e412",
"ean":"735999999564879216",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"5824790e3d214b006271c510",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:28:09+0000",
"children":[
],
"address":"Kungsgatan 2",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"electricity",
"consumption_stats":{
"energy":{
"hour":{
"count":25953,
"sum":311714.628,
"max":34.3,
"last":2016121709,
"min":0,
"first":2014010101
},
"day":{
"count":1080,
"sum":311302.328,
"max":689,
"last":20161216,
"min":141.1,
"first":20140102
},
"month":{
"count":35,
"sum":306915.54,
"max":13704.72,
"last":201708,
"min":6013.932,
"first":201402
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
},
{
"_id":"5825c84b22c8aa00623d65a5",
"ean":"6934363",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"577fdd960c8a335c008b4672",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:31:55+0000",
"children":[
],
"address":"Gr\u00e4nsv\u00e4gen 12B",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"gas",
"consumption_stats":{
"energy":{
"month":{
"count":24,
"sum":42656.62,
"max":8890.65,
"last":201708,
"min":104.57,
"first":201501
},
"hour":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
},
"day":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
},
{
"_id":"5825c85320fe9b006308e41d",
"ean":"5896584",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"577fdd960c8a335c008b466c",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:32:03+0000",
"children":[
],
"address":"Gr\u00e4nsv\u00e4gen 12B",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"heat",
"consumption_stats":{
"energy":{
"month":{
"count":57,
"sum":3592320,
"max":173000,
"last":201709,
"min":2000,
"first":201301
},
"hour":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
},
"day":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
},
{
"_id":"5825c85920fe9b0061547253",
"ean":"735999666123123123",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"577fdd960c8a335c008b4669",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:32:09+0000",
"children":[
],
"address":"Gr\u00e4nsv\u00e4gen 12B",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"electricity",
"consumption_stats":{
"energy":{
"month":{
"count":45,
"sum":141604.36,
"max":6488.2,
"last":201709,
"min":1759.64,
"first":201401
},
"hour":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
},
"day":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
},
{
"_id":"5825c85d22c8aa00606b9dd5",
"ean":"1200004",
"name":null,
"holder":{
"_id":"5543677f37c6b65f008b46e4",
"name":"Example account",
"username":"someone@example.com"
},
"root":{
"_id":"577fdd960c8a335c008b466f",
"holder":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"entity_type":"utility_provider"
}
},
"assigner":{
"_id":"577fd0170c8a335c008b45fe",
"name":"Rob Harvey Utility Company",
"username":"RobHarveyUtilityCompany-utility@example.com",
"manager":{
"_id":null
}
},
"created":"2016-11-11T13:32:13+0000",
"children":[
],
"address":"Gr\u00e4nsv\u00e4gen 12B",
"timezone":"Etc\/GMT-1",
"control_level":"shared",
"billing_category":"owned_meter_consumption",
"generation":1,
"tags":[
],
"box":"active",
"revoked":false,
"metrics":[
"energy"
],
"type":"cooling",
"consumption_stats":{
"energy":{
"month":{
"count":33,
"sum":902350,
"max":92560,
"last":201709,
"min":9730,
"first":201501
},
"hour":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
},
"day":{
"first":null,
"last":null,
"sum":null,
"max":null,
"min":null,
"count":0
}
}
},
"cost_stats":{
},
"readings_stats":null,
"has_active_complaints":false,
"representation":null,
"open_channel_ids":null,
"on_hold":null,
"last_sla_comment":null,
"location":null,
"meta_data":{
},
"meter_readers":[
],
"collection_window":5,
"memo":null
}
]
}
我想要做的是评估哪种指标(在反序列化后使用json.data [r] .readings_stats [0]可以访问它。
我得到了这种格式的aprox 1000米列表。所以数据之后的[r]表示不同的米,而readings_stats中的[0]表示度量对象中的第一个字符串。
如何实现这一目标?
我想传递这样的数据:
如果readings_stats包含以米为单位的能量[0]或[1];运行一个将json.data [0] .readings_stats.energy.last_value保存到名为Energy_ [0]的变量的函数。
如果readings_stats包含以米[0]或[1]为单位的流量;运行一个将json.data [0] .readings_stats.energy.last_value保存到名为Flow_ [0]的变量的函数。
如果readings_stats为“null”;迭代数据索引[r]并继续评估下一个数据表。