Jsonifying一个数组

时间:2014-07-23 22:04:19

标签: python json boto

我有以下内容:

def jsonify(ar):
    json.dumps(ar._data)

jsonify(getFromTable())

getFromTable返回一个boto对象数组。每个对象都有一个_data元素。但是ar._data不起作用。它没有_data属性。

如何从多个对象中创建单个json。或者这是不可能的?

我的工作是:

def jsonify(ar):
    str=""
    for i in ar:
        str+=json.dumps(i._data)
    print str
    return str
jsonify(getFromTable())

然而,我仍然会在一个json blob中打印它们。有谁知道怎么做?

在mGilson的帮助下解决了

同样如fyi:

我使用boto,dynamodb2,python,并从查询我的表返回的惰性求值结果集中拉出来。

1 个答案:

答案 0 :(得分:0)

@mGilson,谢谢。这是解决问题的正确方法。

对于任何好奇的人来说,这是我使用的实现。

def getFromTable():
    global table
    #t = table.scan(thirdKey__eq="Anon")
    t = table.scan()
    arr = []
    for a in t:
        arr.append(a)
    return arr

def jsonify(ar):
    str = json.dumps(ar)
    print str
    return str

def createListFromBotoObj(obj):
    myList = []
    for o in obj:
        myList.append(o._data)
    return myList
jsonify(createListFromBotoObj(getFromTable()))

打印预期结果:

  

[{" secondKey":" Doe"," thirdKey":" Anon"," firstKey": " John"},{" secondKey":" G"," thirdKey":"公司",&#34 ; firstKey":" P"},{" secondKey":" T"," thirdKey":" Engineer3&# 34;," firstKey":" allen"},{" secondKey":" John"," last_name": " Doe"," firstKey":" booperface"},{" secondKey":" The Builder",&# 34; thirdKey":"悲伤"," firstKey":" Bob"}]

如果有人想知道我用它来测试我将如何实现我的实际数据库。