Python flask处理多栏json数据
如果我有一个元组:
((1,'a','blahblah'),(2,'b','blahblah'),(3,'c','blahblah'),...)
想要返回的json格式大概是:
items: Array[100]
0:Object
{
'pmid': 1,
'title': 'a',
'abstract': 'blahblah'
}
1:Object
{
'pmid': 2,
'title': 'b',
'abstract': 'blahblah'
}
2:Object
{
'pmid': '3',
'title': 'b',
'abstract': 'blahblah'
}
...
python代码该如何写?
三千东流水
9 years, 11 months ago
Answers
如下代码:
import json
result = json.dumps(map(lambda a: dict(zip(('pmid', 'title', 'abstract'), a)), ((1,'a','blahblah'),(2,'b','blahblah'),(3,'c','blahblah'))))
结果:
'[{"pmid": 1, "abstract": "blahblah", "title": "a"}, {"pmid": 2, "abstract": "blahblah", "title": "b"}, {"pmid": 3, "abstract": "blahblah", "title": "c"}]'
请输入代码
Sevion
answered 9 years, 11 months ago
json
在
python
里对应的数据结构大致为
字典
,也就是你需要先把
tuple
转换成
dictionary
,然后再用标准库
json
进行
dumps
一下
import json
t = ((1,'a','blahblah'),(2,'b','blahblah'),(3,'c','blahblah'),...)
key = ('pmid', 'title', 'abstract')
d = [dict(zip(key, value)) for value in t]
res_json = json.dumps(d)
字典的key是没有顺序的,如果要保证顺序,可以使用
collections
下的
OrderedDict
结构拼装
奈須ゆきこ
answered 9 years, 11 months ago