通过在cheerypy python中作为** kwargs传递的列表进行迭代

时间:2016-11-14 13:52:41

标签: python cherrypy

嗨,我是cheerypy和python的新手

我正在传递对象列表

EX:

deviceArr=[{"id":"01","name":"abc"},{"id":"02","name":"abcd"}]

到帖子请求

      def POST(self,*args, **kwargs):
            abc=[]
            abc=kwargs['deviceArr']
            print abc #output -[{"id":"01","name":"abc"},{"id":"02","name":"abcd"}]
            for device in abc:
                print device #its printing [,{,",i,d...

我希望它在迭代

上打印完整的对象
    {"id":"01","name":"abc"}
    {"id":"02","name":"abcd"}

所以任何人都可以帮助我如何实现它。 感谢

2 个答案:

答案 0 :(得分:2)

发布数据作为JSON对象接收,该对象是一个字符串。您需要首先将其转换为Python对象,以便将数据作为字典列表而不是字符串进行迭代:

import json

...
abc = kwargs['deviceArr']
abc = json.loads(abc)
...

答案 1 :(得分:2)

这是因为abc是一个字符串。使用json模块将其转换为实际的Python dict:

import json

.
.
.

abc = json.loads(kwargs['deviceArr'])