JSON文字列にランダムな変化を与えます。
構文
fuzzJSON({ named_collection [, option=value [,..]] | json_str[, random_seed] })引数
| 引数 | 説明 |
|---|---|
named_collection |
NAMED COLLECTION。 |
option=value |
named collection のオプションparameterとその値。 |
json_str (String) |
JSON フォーマットの構造化データを表すソース文字列。 |
random_seed (UInt64) |
安定した結果を生成するための手動の random seed。 |
reuse_output (boolean) |
ファジング処理の出力を、次の fuzzer への入力として再利用します。 |
malform_output (boolean) |
JSON object として parse できない文字列を生成します。 |
max_output_length (UInt64) |
生成または変更された JSON 文字列の最大許容長。 |
probability (Float64) |
JSON フィールド (キー・バリューの組) をファズする確率。[0, 1] の範囲内である必要があります。 |
max_nesting_level (UInt64) |
JSON データ内で許可されるネスト構造の最大深さ。 |
max_array_size (UInt64) |
JSON array の最大許容サイズ。 |
max_object_size (UInt64) |
JSON object の1階層あたりの最大フィールド数。 |
max_string_value_length (UInt64) |
String 型の値の最大長。 |
min_key_length (UInt64) |
キーの最小長。1 以上である必要があります。 |
max_key_length (UInt64) |
キーの最大長。指定する場合は min_key_length 以上である必要があります。 |
戻り値
摂動を加えたJSON文字列を含む1つのカラムを持つテーブルオブジェクト。
使用例
CREATE NAMED COLLECTION json_fuzzer AS json_str='{}';
SELECT * FROM fuzzJSON(json_fuzzer) LIMIT 3;{"52Xz2Zd4vKNcuP2":true}
{"UPbOhOQAdPKIg91":3405264103600403024}
{"X0QUWu8yT":[]}SELECT * FROM fuzzJSON(json_fuzzer, json_str='{"name" : "value"}', random_seed=1234) LIMIT 3;{"key":"value", "mxPG0h1R5":"L-YQLv@9hcZbOIGrAn10%GA"}
{"BRE3":true}
{"key":"value", "SWzJdEJZ04nrpSfy":[{"3Q23y":[]}]}SELECT * FROM fuzzJSON(json_fuzzer, json_str='{"students" : ["Alice", "Bob"]}', reuse_output=true) LIMIT 3;{"students":["Alice", "Bob"], "nwALnRMc4pyKD9Krv":[]}
{"students":["1rNY5ZNs0wU&82t_P", "Bob"], "wLNRGzwDiMKdw":[{}]}
{"xeEk":["1rNY5ZNs0wU&82t_P", "Bob"], "wLNRGzwDiMKdw":[{}, {}]}SELECT * FROM fuzzJSON(json_fuzzer, json_str='{"students" : ["Alice", "Bob"]}', max_output_length=512) LIMIT 3;{"students":["Alice", "Bob"], "BREhhXj5":true}
{"NyEsSWzJdeJZ04s":["Alice", 5737924650575683711, 5346334167565345826], "BjVO2X9L":true}
{"NyEsSWzJdeJZ04s":["Alice", 5737924650575683711, 5346334167565345826], "BjVO2X9L":true, "k1SXzbSIz":[{}]}SELECT * FROM fuzzJSON('{"id":1}', 1234) LIMIT 3;{"id":1, "mxPG0h1R5":"L-YQLv@9hcZbOIGrAn10%GA"}
{"BRjE":16137826149911306846}
{"XjKE":15076727133550123563}SELECT * FROM fuzzJSON(json_nc, json_str='{"name" : "FuzzJSON"}', random_seed=1337, malform_output=true) LIMIT 3;U"name":"FuzzJSON*"SpByjZKtr2VAyHCO"falseh
{"name"keFuzzJSON, "g6vVO7TCIk":jTt^
{"DBhz":YFuzzJSON5}