我有一个聚类算法,该算法将成为RESTful服务,该算法可在Flask的POST中接收电影以用于JSON聚类,例如:
{"movies": ["movie1","movie2",...]}
我从两个单独的阵列中接收到群集,以发送POST响应。电影名称的群集和该群集的推荐,例如:
群集电影的Array1:
[["movieClusterName1", "movieClusterName2",...etc],
["movieCluster2Name1", "movieCluster2Name2",...etc]]
每个群集的Array2建议:
[["movieRecCluster1", "movieRecCluster2",...etc],
["movieRecCluster2", "movieRecCluster2",...etc]]
格式化并以JSON返回的最佳方法是什么?
类似这样的东西:
{
"clusters": [
["movieClusterName1", "movieClusterName2",...etc],
["movieCluster2Name1", "movieCluster2Name2",...etc]
],
"recommendations": [
["movieRec1ForCluster1", "movieRec2ForCluster1",...etc],
["movieRec1ForCluster2", "movieRec2ForCluster2",...etc]
]
}
我无法想象这是此用例的正确JSON响应。有什么想法吗?谢谢!
答案 0 :(得分:1)
如果我正确理解您的目标,那么您正在寻找一种表示此信息的好方法。
为此,您应该首先尝试组织要归入逻辑分组的响应。问问自己,列表中的每个项目代表什么,可以这么说。属于。
在这种情况下,推荐以及群集中的电影都属于群集本身。因此,只需将其分组即可。集群既可以作为字典也可以作为列表(字典的形式,我已经意识到这也不是很直观的)。我的建议是第一种方法。
{
"Cluster1": {
"Movies": ["Movie1", "Movie2"],
"Recommendations": ["RecMovie1", "RecMovie2"]
},
"Cluster2": {
"Movies": ["Movie1", "Movie2"],
"Recommendations": ["RecMovie1", "RecMovie2"]
}
}
OR
[{
"Cluster1": {
"Movies": ["Movie1", "Movie2"],
"Recommendations": ["RecMovie1", "RecMovie2"]
}
},
{
"Cluster2": {
"Movies": ["Movie1", "Movie2"],
"Recommendations": ["RecMovie1", "RecMovie2"]
}
}
]
答案 1 :(得分:1)
希望这个线索可以帮助您完成任务。
data = {}
data['clusters'] = []
data['recommendations'] = []
print data
输出:-{'集群':[],'推荐':[]}
data['clusters'].append(something)
data['recommendations'].append(something)