将python中sortedset类型的cassandra结果集转换为json字符串集

bttbmeg0  于 2021-06-09  发布在  Cassandra
关注(0)|答案(1)|浏览(332)

我正在使用python获取cassandra的结果集,其中一列的类型为set,结果如下:
分类集([u'批准'])
sortedset([媒体目录摘要(目录id=uuid('4d0cf274-cfdd-47b8-a81d-a2f7017f8173'),名称=u'测试目录',url=none,imported=false,所有者id=uuid('63c2849f-db90-46f0-98e2-3d2764b5c1c6')),媒体目录摘要(目录id=uuid('8da294a3-d989-484f-801f-0f47c6dcc926'),名称=u'newone',url=none,imported=false,所有者\u id=uuid('63c2849f-db90-46f0-98e2-3d2764b5c1c6'))])
我想要的结果是得到它的形式:
{批准}
{{目录id:4d0cf274-cfdd-47b8-a81d-a2f7017f8173,名称:'测试目录',url:null,导入:false,所有者id:63c2849f-db90-46f0-98e2-3d2764b5c1c6},{目录id:8da294a3-d989-484f-801f-0f47c6dcc926,名称:'newone',url:null,导入:false,所有者id:63c2849f-db90-46f0-98e2-3d2764b5c1c6}}
我试着用这种方式转换它,但没有按需要工作。

for row in self.session.execute(query):
    for val in row:
        if isinstance(val, cassandra.util.SortedSet):
           for Sorted in val:
               self.log.info(Sorted)
               for media_summary in Sorted:
                   self.log.info(media_summary)

有了这个,我就无法得到想要的结果。请帮忙。

laawzig2

laawzig21#

这个 SortedSet 实现 iterable 接口,所以您可以将其传递给 set 函数,并获取可以使用的“法线集”:

>>> from cassandra.util import *
>>> a = SortedSet([1, 1, 3, 4, 4, 5])
>>> a
SortedSet([1, 3, 4, 5])
>>> set(a)
{1, 3, 4, 5}

相关问题