BokehJSのオブジェクトを直列化するために関数とクラスを提供してカスタムJSONエンコーダを実現する.
メインインターフェースは serialize_json 関数,この関数はカスタムを用いる BokehJSONEncoder JSON出力を生成します
serialize_json
BokehJSONEncoder
一般に、このモジュール内の関数は、以下のように値を変換する。
日時値(Python,Pandas,NumPy)は紀元から浮動小数点ミリ秒に変換される.
TimeDelta値は絶対浮動小数点ミリ秒に変換される.
RelativeDelta値は辞書に変換される.
10進数値を浮動小数点数に変換する.
このインタフェースを介して渡されるシーケンス(Pandas Series、NumPy配列、Pythonシーケンス)はリストに変換される。しかしながら、Bokeh文書内のデータソース内の配列は他の場所で変換され、デフォルトではバイナリ符号化フォーマットが使用されることに留意されたい。
ポーク! Model インスタンスは、一般に、Bokeh文書全体のコンテキスト内の他の位置で直列化される。このインタフェースを介して伝達されるモデルは参照に変換される.
Model
HasProps (Bokehモデルではない)キー/値辞書またはそのすべての属性および値に変換される。
HasProps
Color インスタンスは、CSS色値に変換される。
Color
帰還対象の直列化JSONは,BokehJSへの送信に適していることを表す.
この関数は、一般に、BokehJSが所望の方法で単一のPythonオブジェクトを直列化するために使用される。具体的には、多くの日時値が意図されたフォーマットに自動的に正規化される。いくつかのBokehオブジェクトを渡すこともできるが、Bokehモデルは、通常、Bokeh文書全体のコンテキストで正しく直列化されていることに留意されたい。
生成されたJSONはつねに整列化された鍵を持つ.デフォルトの場合。出力は、きれいな出力やインデントが必要でない限り、できるだけコンパクトにします。
obj (obj) -- JSON形式のオブジェクトに整列する
pretty (bool, optional) -- 美化出力が生成されるかどうか.もし True 区切りの後にスペースを追加し、インデントと改行を適用します。(デフォルト値:FALSE)環境変数を使用してきれいな出力を有効にすることもできます。 BOKEH_PRETTY これは、設定されている場合、このパラメータを上書きします。
True
BOKEH_PRETTY
indent (int or None, optional) -- 生成されたJSON出力に用いるインデント量.もし None インデントは使用せず,きれいな出力が有効にされていない限り,この場合は2つのスペースを用いる.(デフォルト値:なし)
None
他のキーワードパラメータは json.dumps しかし、内部計算でカバーできない部分は除外します。
json.dumps
allow_nan
引き込む.
仕切り符.
sort_keys
サンプル
>>> data = dict(b=np.datetime64('2017-01-01'), a = np.arange(3)) >>>print(serialize_json(data)) {"a":[0,1,2],"b":1483228800000.0} >>> print(serialize_json(data, pretty=True)) { "a": [ 0, 1, 2 ], "b": 1483228800000.0 }
一種の風習. json.JSONEncoder BoehJSプロトコルによりオブジェクトを符号化するためのサブクラス.
json.JSONEncoder
default
必要なのは default 法 JSONEncoder サブクラスです。
JSONEncoder
obj (obj) -- エンコードするオブジェクトです。この方法では専用に処理されていないどのコンテンツもデフォルトのシステムJSONエンコーダに渡される.
transform_python_types
(Python、NumPyまたはPandas)日時または10進数値のような特殊スカラを処理します。