モジュール json は、JSON 関連の関数の Starlark モジュールです。
メンバー
decode
unknown json.decode(x, default=unbound)
- </ph>
"null"
、"true"
、"false"
は、None
、True
、False
として解析されます。- 数値は、整数として解析されます。小数点または指数が含まれる場合は浮動小数点数として解析されます。JSON には非有限値の構文がありませんが、非常に大きな値は無限大としてデコードされる場合があります。
- JSON オブジェクトが、フリーズされていない新しい Starlark ディクショナリとして解析されます。同じキー文字列がオブジェクト内で複数回出現する場合、キーの最後の値が保持されます。
- JSON 配列が、フリーズされていない新しい Starlark リストとして解析されます。
x
が有効な JSON エンコードではなく、オプションの default
パラメータが指定されている場合(None
として指定されている場合)、この関数は default
値を返します。
x
が有効な JSON エンコードではなく、オプションの default
パラメータが指定されていない場合、この関数は失敗します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
string;
必須 デコードする JSON 文字列。 |
default
|
デフォルトは unbound 指定すると、 x をデコードできない場合に返す値。
|
encode
string json.encode(x)
encode 関数は、必須の位置引数を 1 つ受け取り、状況に応じて JSON に変換します。
- None、True、False はそれぞれ「null」、「true」、「false」に変換されます。
- int は、サイズに関係なく、10 進数の整数としてエンコードされます。一部のデコーダは、非常に大きな整数をデコードできない場合があります。
- 浮動小数点数は、数値が整数であっても、小数点、指数、またはその両方を使用してエンコードされます。非有限の浮動小数点値をエンコードするとエラーになります。
- 文字列値は、値を示す JSON 文字列リテラルとしてエンコードされます。ペアになっていない各サロゲートは U+FFFD に置き換えられます。
- 辞書はキー順に JSON オブジェクトとしてエンコードされます。いずれかのキーが文字列でない場合、エラーになります。
- リストまたはタプルは JSON 配列としてエンコードされます。
- 構造体のような値は、フィールド名の順序で JSON オブジェクトとしてエンコードされます。
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 |
encode_indent
string json.encode_indent(x, *, prefix='', indent='\t')
json.indent(json.encode(x), ...)
と同等です。書式設定パラメータの説明については、indent
をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 |
prefix
|
string;
デフォルトは '' です |
indent
|
string;
デフォルトは '\t' です |
インデント
string json.indent(s, *, prefix='', indent='\t')
パラメータ
パラメータ | 説明 |
---|---|
s
|
string;
必須 |
prefix
|
string;
デフォルトは '' です |
indent
|
string;
デフォルトは '\t' です |