bokeh.core.json_encoder

BokehJSのオブジェクトを直列化するために関数とクラスを提供してカスタムJSONエンコーダを実現する.

メインインターフェースは serialize_json 関数,この関数はカスタムを用いる BokehJSONEncoder JSON出力を生成します

一般に、このモジュール内の関数は、以下のように値を変換する。

  • 日時値(Python,Pandas,NumPy)は紀元から浮動小数点ミリ秒に変換される.

  • TimeDelta値は絶対浮動小数点ミリ秒に変換される.

  • RelativeDelta値は辞書に変換される.

  • 10進数値を浮動小数点数に変換する.

  • このインタフェースを介して渡されるシーケンス(Pandas Series、NumPy配列、Pythonシーケンス)はリストに変換される。しかしながら、Bokeh文書内のデータソース内の配列は他の場所で変換され、デフォルトではバイナリ符号化フォーマットが使用されることに留意されたい。

  • ポーク! Model インスタンスは、一般に、Bokeh文書全体のコンテキスト内の他の位置で直列化される。このインタフェースを介して伝達されるモデルは参照に変換される.

  • HasProps (Bokehモデルではない)キー/値辞書またはそのすべての属性および値に変換される。

  • Color インスタンスは、CSS色値に変換される。

serialize_json(obj, pretty=None, indent=None, **kwargs)[ソース]

帰還対象の直列化JSONは,BokehJSへの送信に適していることを表す.

この関数は、一般に、BokehJSが所望の方法で単一のPythonオブジェクトを直列化するために使用される。具体的には、多くの日時値が意図されたフォーマットに自動的に正規化される。いくつかのBokehオブジェクトを渡すこともできるが、Bokehモデルは、通常、Bokeh文書全体のコンテキストで正しく直列化されていることに留意されたい。

生成されたJSONはつねに整列化された鍵を持つ.デフォルトの場合。出力は、きれいな出力やインデントが必要でない限り、できるだけコンパクトにします。

パラメータ
  • obj (obj) -- JSON形式のオブジェクトに整列する

  • pretty (bool, optional) -- 美化出力が生成されるかどうか.もし True 区切りの後にスペースを追加し、インデントと改行を適用します。(デフォルト値:FALSE)環境変数を使用してきれいな出力を有効にすることもできます。 BOKEH_PRETTY これは、設定されている場合、このパラメータを上書きします。

  • indent (int or None, optional) -- 生成されたJSON出力に用いるインデント量.もし None インデントは使用せず,きれいな出力が有効にされていない限り,この場合は2つのスペースを用いる.(デフォルト値:なし)

他のキーワードパラメータは 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
}
class BokehJSONEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[ソース]

一種の風習. json.JSONEncoder BoehJSプロトコルによりオブジェクトを符号化するためのサブクラス.

default(obj)[ソース]

必要なのは defaultJSONEncoder サブクラスです。

パラメータ

obj (obj) -- エンコードするオブジェクトです。この方法では専用に処理されていないどのコンテンツもデフォルトのシステムJSONエンコーダに渡される.

transform_python_types(obj)[ソース]

(Python、NumPyまたはPandas)日時または10進数値のような特殊スカラを処理します。

パラメータ

obj (obj) -- エンコードするオブジェクトです。この方法では専用に処理されていないどのコンテンツもデフォルトのシステムJSONエンコーダに渡される.