【发布时间】:2026-01-12 09:15:01
【问题描述】:
谷歌应用引擎,Python27
我正在尝试将 python 字符串数组编码为 JSON 字符串以发送到客户端。我创建了一个可行的解决方案,这需要我手动创建数组的字符串版本并从 python 调用转储,但我认为没有必要:
def get_json(cls):
name_query = cls.query()
array_string = "["
index = 1
for name in name_query:
array_string += '"' + name.key.id() + '"'
if index < name_query.count():
array_string += ", "
index += 1
array_string += "]"
return json.dumps(array_string)
>> "[\"Billy\", \"Bob\"]"
对于我的第二次尝试,我尝试在 python 数组上调用“转储”,我认为这应该是一个可行的解决方案;相反,我必须调用转储两次:
# (bad output)
def get_json(cls):
name_query = cls.query()
name_array = []
for name in name_query:
name_array.append(name.key.id())
return json.dumps(name_array)
>> ["Billy", "Bob"]
# (working output)
def get_json(cls):
name_query = cls.query()
name_array = []
for name in name_query:
name_array.append(name.key.id())
return json.dumps(json.dumps(name_array)))
>> "[\"Billy\", \"Bob\"]"
即使我有一个可行的解决方案,有没有更好的方法,为什么在 python 数组上调用转储没有给出正确的输出?
【问题讨论】:
标签: arrays json google-app-engine python-2.7