首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从ImmutableMultiDict中提取数据

如何从ImmutableMultiDict中提取数据
EN

Stack Overflow用户
提问于 2016-11-04 18:40:30
回答 2查看 15.1K关注 0票数 10

我以ImmutableMultiDict的形式接收数据

ImmutableMultiDict([('slim[]', '{"server":[{"status":"SUCCESS"}],"meta":{},"input":{"name":"sample-img.jpg","type":"image/jpeg","size":41319,"width":400,"height":300},"output":{"width":400,"height":300,"image":"data:image/jpeg;base64,/9j/4AAQ....

我把它转换成一个白痴

代码语言:javascript
运行
复制
data = dict(request.form)

在转换成dict之后,我得到了这种格式的数据。

代码语言:javascript
运行
复制
{
'imageUploaded': 
    ['{     
    "server":[{"status":"SUCCESS"}],
    "meta":{},
    "input":{
                "name":"sample-img.jpg",
                "type":"image/jpeg",
                "size":41319,
                "width":400,
                "height":300
            },
    "output":{"width":400,"height":300,"image":"data:image/jpeg;base64,/9j//WmZyP/2Q=="
        },
    "actions":
            {
                "rotation":0,
                "crop":{"x":0,"y":0,"width":400,"height":300,"type":"manual"},
                "size":
                {
                    "width":640,"height":640
                }
            }
        }']
}

我试过了

代码语言:javascript
运行
复制
data = json.dumps(dict(request.form))
a = json.loads(data)
print(a['imageUploaded']['output']['image'])

但我知道这个错误

TypeError:列表索引必须是整数,而不是str

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-04 18:58:39

这就是data?(我认为您是很漂亮的打印它,因为您不能有多行'string'值)

代码语言:javascript
运行
复制
{
'imageUploaded': 
    ['{    

然后需要data['imageUploaded'][0]来获取该数组的第一个元素。

这似乎是一个JSON字符串,所以解析

代码语言:javascript
运行
复制
import json
inner_data = data['imageUploaded'][0]
inner_data = json.loads(inner_data)

然后,你可以inner_data['output']['image']

Sample Run

票数 6
EN

Stack Overflow用户

发布于 2016-11-04 20:56:38

实际上,您可以使用for循环来迭代字典值,并为特定值获取多个字典键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40429748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档