所以我下面的问题是,当它发送 json 对象时,可以说我在列表中有多个项目?好吧,它发送了很多对象,除了在我上面创建的字典中更改该字段一次。出于某种原因,即使我使用上面的 for 循环从列表中创建一个字符串,它实际上并没有做到这一点,我得到 15 个对象而不是 1 个对象,其中可能包含一个由逗号分隔的 15 个对象的字段。我的预期输出应该是 name,special1,special2,special3..etc,review1,review2
相反,我得到 name,special1,review1 name,special2,review1 name,special3,review1 etc.. name,special1,review2 name,special1,review3
我的主要问题是如何将列表转换为数组甚至只是字符串(如 toString 方法),以便我的 json 转储不会吐出倍数?
class store(db.Model):
mykey = db.StringProperty(db.Key)
storeSpecial = db.ListProperty(item_type=str)
reviews = db.ListProperty(item_type=str)
storeName = db.StringProperty()
#later in the code
qy1 = GqlQuery("SELECT storeName,storeSpecial,reviews FROM store WHERE mykey =:1",dataInput)
records_to_send = []
for i in qy1:
rev =""
for k in i.review:
rev = rev + str(k) + ","
spec = ""
for k2 in i.storeSpecial:
spec = spec + str(k2) + ","
output = {"store name": i.storeName,"specials": spec,"reviews":rev}
records_to_send.append(output)
self.response.out.write(json.dumps(records_to_send))