python Python的なアプリからJSONを出力する方法はいろいろあると思いますが,SQLAlchemy的利用が前提だとJSONシリアライズの前にオブジェクトの変换を自前で作るケースが多いようで
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Python的なアプリからJSONを出力する方法はいろいろあると思いますが,SQLAlchemy的利用が前提だとJSONシリアライズの前にオブジェクトの変换を自前で作るケースが多いようで相关的知识,希望对你有一定的参考价值。
詳細は[こちらで(https://marshmallow.readthedocs.org/en/latest/)](https://marshmallow.readthedocs.org/en/latest/)
##前提としてSQLAlchemyで以下のようなモデルがあるとします。
class Dog(Base):
Birth = Column(Date)
Name = Column(Text)
Breed = Column(Text)
def __init__(self, Birth, Name, Breed):
self.Birth = Birth
self.Name = Name
self.Breed = Breed
##API
from marshmallow import Serialize, fields
@app.route('/mydog')
def mydog():
breed = request.args.get("breed")
params = []
params.append(Dog.Breed.like('%' + breed + '%'))
parm = and_(*params)
dg = session.query(Dog).filter(parm).all()
serialized = dgserializer(dg, many=True).data
return json.dumps(serialized, default=date_handler)
##serializer
class dgserializer(Serializer):
class Meta:
fields = ("Birth", "Name", "Breed")
##Python2.7のJSONはDateオブジェクトを扱えないため、isoformatに変換してからシリアライズする
def date_handler(obj):
return obj.isoformat() if hasattr(obj, 'isoformat') else obj
以上是关于python Python的なアプリからJSONを出力する方法はいろいろあると思いますが,SQLAlchemy的利用が前提だとJSONシリアライズの前にオブジェクトの変换を自前で作るケースが多いようで的主要内容,如果未能解决你的问题,请参考以下文章
csharp アプリケーションのパスを取得(Application.StartupPath)
sh Macのアプリケーションフォルダなどを日本语环境で英语名にするスクリプト
ruby 起动时にShellスクリプト形式の用户数据を渡して,デモアプリが动いている状态でCoreOSを稼働させる
sh unarコマンドですべてのファイルを解压缩するスクリプト。あと展开后のディレクトリから空白文字を置换する。
接触アプリ名は「COCOA」 濃厚接触疑いある場合通知 午後運用
python はてなブログAtomPub APIを使った简易投稿クライアントアプリ(http://ottati.hatenablog.com/entry/2013/09/06/190925の解说用)