【发布时间】:2026-02-07 16:25:01
【问题描述】:
我如何将完全相同的 JSON 数据从一个类返回到另一个类?
代码:
class Class1(webapp.RequestHandler):
def get(self):
random_id = str(uuid.uuid1())
time_now = int(time.time())
info = {
id: random_id,
now: time_now
}
json_info = json.dumps(info)
print json_info
self.response.write(info)
class Class2(webapp.RequestHandler):
def get(self):
getting_info = self.Class1()
getting_info_time = getting_info['now']
print getting_info_time
错误:
class1_info = self.Class1()
AttributeError: 'Class2' 对象没有属性 'Class1'
编辑(更多细节):
我的应用程序的一部分需要 整个 JSON 输出,而另一部分只需要 info 字典中的 now 值。并且这两个类都将使用 info 字典中的相同 exact 数据。
我一直在尝试获取 now 输出,但只收到错误消息。
尝试:
注意:使用@Alex 的回答(带有@snakecharmerb 推荐的memcache)
代码:
from google.appengine.api import memcache
class Class1(webapp.RequestHandler):
def generate_data(self):
random_id = str(uuid.uuid1())
time_now = int(time.time()))
id_cached = memcache.add(key=random_id, value=random_id, time=600)
get_id_cached = memcache.get(key=random_id, value=random_id, time=600)
time_cached = memcache.add(key=time_now, value=time_now, time=600)
get_time_cached = memcache(key=time_now)
info = {
id: get_id_cached,
now: get_time_cached
}
json_info = json.dumps(info)
return json_info
def get(self):
self.response.write(generate_data())
class Class2(webapp.RequestHandler):
def get(self):
getting_info = Class1().generate_data()
print getting_info
结果:
{“id”:“9d752605-a20d-11e7-8bfd-bfe81b332704”,“时间”:“1506356501”}
{“id”:“9b95e899-a20d-11e7-b137-bfe81b332704”,“时间”:“1506356498”}
【问题讨论】:
-
欢迎使用依赖注入!您必须将 Class1 对象传递给 Class2 或简单地从 Class1.get 返回
json_info,然后以某种方式将其传递给 Class2.get。您的消息说 Class2 没有属于 Class1 的成员 -
感谢您的指导
-
你实际上可以实现 Class2 的
__init__方法然后有类似self.cls1 = Class1 ()的东西 -
我的应用程序的一部分需要 whole JSON 输出,而另一部分只需要 info 字典中的
now值。我一直在尝试获取now输出,但我只收到错误消息。
标签: python json google-app-engine