在Python中为应用程序引擎生成json

发布于 2024-11-05 10:11:44 字数 779 浏览 0 评论 0原文

我对 python 有点陌生,我想知道在循环中生成 json 的最佳方法是什么。我可以在循环中将一堆字符串混合在一起,但我确信有更好的方法。这里有一些更多细节。我正在 python 中使用应用程序引擎创建一个返回 json 作为响应的服务。

举个例子,假设有人向服务请求用户记录列表。服务查询记录后,需要为找到的每条记录返回 json。也许是这样的:

{records: 
{record: { name:bob, email:[email protected], age:25 } },
{record: { name:steve, email:[email protected], age:30 } }, 
{record: { name:jimmy, email:[email protected], age:31 } }, 
}

请原谅我格式不正确的 json。感谢您的帮助。

I am somewhat new to python and I am wondering what the best way is to generate json in a loop. I could just mash a bunch of strings together in the loop, but I'm sure there is a better way. Here's some more specifics. I am using app engine in python to create a service that returns json as a response.

So as an example, let's say someone requests a list of user records from the service. After the service queries for the records, it needs to return json for each record it found. Maybe something like this:

{records: 
{record: { name:bob, email:[email protected], age:25 } },
{record: { name:steve, email:[email protected], age:30 } }, 
{record: { name:jimmy, email:[email protected], age:31 } }, 
}

Excuse my poorly formatted json. Thanks for your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬花如无物 2024-11-12 10:11:44

创建自己的 JSON 很愚蠢。请使用 jsonsimplejson 来代替。

>>> json.dumps(dict(foo=42))
'{"foo": 42}'

Creating your own JSON is silly. Use json or simplejson for this instead.

>>> json.dumps(dict(foo=42))
'{"foo": 42}'
凝望流年 2024-11-12 10:11:44

我的问题是如何添加到
动态字典?所以foreach
记录在我的记录列表中,添加一个
记录到字典中。

您可能希望创建一个字典列表。

records = []
record1 = {"name":"Bob", "email":"[email protected]"}
records.append(record1)    
record2 = {"name":"Bob2", "email":"[email protected]"}
records.append(record2)

然后在 App Engine 中,使用上面的代码将 records 导出为 json。

My question is how do I add to the
dictionary dynamically? So foreach
record in my list of records, add a
record to the dictionary.

You may be looking to create a list of dictionaries.

records = []
record1 = {"name":"Bob", "email":"[email protected]"}
records.append(record1)    
record2 = {"name":"Bob2", "email":"[email protected]"}
records.append(record2)

Then in app engine, use the code above to export records as json.

鸵鸟症 2024-11-12 10:11:44

这里只需几步。

首先导入 simplejson

from django.utils import simplejson

然后创建一个函数,该函数将返回带有适当数据头的 json。

def write_json(self, data):
  self.response.headers['Content-Type'] = 'application/json'
  self.response.out.write(simplejson.dumps(data))

然后从您的帖子或获取处理程序中,使用所需的数据创建一个Python字典并将其传递到您创建的函数中。

 ret = {"records":{
   "record": {"name": "bob", ...}
   ...
 }
 write_json(self, ret)

Few steps here.

First import simplejson

from django.utils import simplejson

Then create a function that will return json with the appropriate data header.

def write_json(self, data):
  self.response.headers['Content-Type'] = 'application/json'
  self.response.out.write(simplejson.dumps(data))

Then from within your post or get handler, create a python dictionary with the desired data and pass that into the function you created.

 ret = {"records":{
   "record": {"name": "bob", ...}
   ...
 }
 write_json(self, ret)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文