python - 如何更改响应结构
问题描述
我面临一个更改以下结构的问题.....
这是我得到的结构
{
"labels": [
"List A",
"List B",
"List C",
"List D"
],
"data": [
19,
25,
30,
32
],
"colors": [
"#e15759",
"#f28e2b",
"#76b7b2",
"#4e79a7"
],
}
但我想将以下数据更改为以下方法
{
"category": "List D",
"value": 32,
"colors": "#e15759"
},
{
"category": "List C",
"value": 25
"colors": "#f28e2b"
},
{
"category": "List B",
"value": 30,
"colors": "#76b7b2"
},
{
"category": "List A",
"value": 19,
"colors" : "#4e79a7"
}
这是我的代码
class AbcListAPI(APIView):
def get(self, request, format=None):
a = data_fuction()
return Response(a)
在这段代码中,我从我的代码的另一部分中使用的函数 data_fction 获得了这个响应......所以我无法从那里编辑那个响应......但是在这个函数中我需要格式化这个代码……
解决方案
您需要将一种结构转换为另一种结构的功能
data = {
"labels": [
"List A",
"List B",
"List C",
"List D"
],
"data": [
19,
25,
30,
32
],
"colors": [
"#e15759",
"#f28e2b",
"#76b7b2",
"#4e79a7"
],
}
def convert_data(data):
result = []
for l, d, c in zip(data['labels'], data['data'], data['colors']):
result.append({
'category': l,
'value': d,
'colors': c,
})
return result
print(convert_data(data))
推荐阅读
- react-admin - React-admin:useGetsList 的结果在 useUpdate 调用时被清空
- c# - 某些文本输入会导致数组超出范围
- node.js - 从 Wireshark 发送 UDP 广播
- spring-boot - 具有诱惑力的 Spring Boot 报告在 oracle.ucp.jdbc.PoolDataSource 上因 IllegalStateException 而崩溃
- pandas - 为 Pandas 列编写一个可选的可执行(惰性)函数
- vue.js - 如何在 Vue.js 中将组件用作按钮
- c# - 有没有办法在一个程序集中记录所有方法?
- c# - XML Attribute to Winforms TextBox
- java - 在哪里可以找到有关 Quarkus 支持版本的信息?
- spring - Spring Cloud Data Flow 监控阻止任务完成