是否有任何优雅的方式使Python JSON编码器支持日期时间?一些第三方模块或简单的黑客?
我正在使用龙卷风的数据库包装器从db中获取一些原始数据以生成json.查询结果包括常规MySQL时间戳列.
Python的默认json编码器不支持自己的日期时间类型,这是非常烦人的,这在所有类型的数据库查询中都很常见.
我不想修改Python自己的json编码器.任何好的做法?非常感谢!
ps:我通过修改Python JSON编码器默认方法找到了一个脏黑客:
更改:
def default(self, o):
raise TypeError(repr(o) + " is not JSON serializable")
Run Code Online (Sandbox Code Playgroud)
至:
def default(self, o):
from datetime import date
from datetime import datetime
if isinstance(o, datetime):
return o.isoformat()
elif isinstance(o, date):
return o.isoformat()
else:
raise TypeError(repr(o) + " is not JSON serializable")
Run Code Online (Sandbox Code Playgroud)
好吧,它只是开发环境的临时解决方案.
但是对于长期解决方案或生产环境,这非常难看,每次部署到新服务器时我都必须进行修改.
有没有更好的办法?我不想修改Python代码本身,也不想修改Tornado源代码.我能用自己的项目代码做些什么来实现这一目标吗?最好是一步到位.
非常感谢!
必须有许多旨在与服务器通信的应用程序.我的问题只是关于安装在iOS设备上的App +服务器端服务交互.Web应用程序不是我所说的,并且根本不应该涉及这个讨论的网页.典型的例子是像Instagram和Twitter这样的应用程序,其中App和服务器之间交换的大多数信息只是String,Image和Integers(用JSON或XML包装)等数据,不需要网页显示.
我的问题是:如果您是一名独立的应用程序开发人员,并且您从头开始设计这样的应用程序而没有任何现有的网站API,数据库结构或应用程序(因此您不受任何现有API或数据库结构或应用程序协议的限制),什么是最有效的方法?
服务器方面需要做的是:
据我所知,有3个明显的选项来实现服务器端:
(请随意添加更多选项)
我的问题是:
我知道Stackoverflow上有很多非常有经验的专家,但我看到更多的新手刚进入iOS开发区,对服务器/数据库编程经验不太了解.我希望这个线程可以帮助那些正在考虑设计具有服务器/客户端结构的应用程序但不知道从哪里开始的人.
ps:我会不断更新这个问题主题并在此主题上添加我的发现,以帮助stackoverflow上的所有其他用户.:-)请尽量使您的答案信息丰富,易于理解和建设性.我猜这个帖子的大多数读者都是这个伟大社区的新成员.
在XCode中设计核心数据模型时,您可以自动生成NSManagedObject子类定义(.m和.h文件)
之后,您可以在这些类中添加大量代码,如果您因此之后由于某种原因必须修改数据模型设置会怎样?要在数据模型上反映这些变化,有没有自动的方法来做到这一点?或者你必须手动完成所有事情.
目前,如果我尝试再次(自动)从EDIT菜单重新创建这些类定义,它将替换所有当前文件.所有添加的代码都将消失.
我真的希望未来版本的Xcode可以添加一个智能功能:自动更新默认类定义而不会丢失添加的工作.也许我太懒了.:)