> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# type_json_* フォーマットの設定

> type_json_* 生成グループ内の ClickHouse フォーマット設定。

export const SettingsInfoBlock = ({type, default_value, changeable_without_restart}) => {
  return <div className="not-prose" style={{
    display: "flex",
    flexWrap: "wrap",
    alignItems: "baseline",
    columnGap: "0.5rem",
    rowGap: "0.125rem",
    margin: "0.375rem 0",
    fontSize: "0.8125rem",
    lineHeight: "1.125rem"
  }}>
      <div style={{
    fontWeight: 600,
    opacity: 0.72
  }}>型</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{type}</div>
      <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>デフォルト値</div>
      <div style={{
    overflowWrap: "anywhere"
  }}>{default_value}</div>
      {changeable_without_restart && <div style={{
    fontWeight: 600,
    opacity: 0.72,
    marginInlineStart: "0.5rem"
  }}>
          再起動せずに変更可能
        </div>}
      {changeable_without_restart && <div style={{
    overflowWrap: "anywhere"
  }}>
          {changeable_without_restart}
        </div>}
    </div>;
};

これらの設定は、[ソースコード](https://github.com/ClickHouse/ClickHouse/blob/master/src/Core/FormatFactorySettings.h)から自動生成されています。

<div id="type_json_allow_duplicated_key_with_literal_and_nested_object">
  ## type\_json\_allow\_duplicated\_key\_with\_literal\_and\_nested\_object
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

有効にすると、`{"a" : 42, "a" : {"b" : 42}}` のように、キーが重複していても、その一方がネストされたオブジェクトである JSON をパースできるようになります。

<div id="type_json_skip_duplicated_paths">
  ## type\_json\_skip\_duplicated\_paths
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

有効にすると、JSON オブジェクト を JSON 型 にパースする際、重複するパスは無視され、例外を発生させる代わりに最初のものだけが挿入されます

<div id="type_json_skip_invalid_typed_paths">
  ## type\_json\_skip\_invalid\_typed\_paths
</div>

<SettingsInfoBlock type="Bool" default_value="0" />

有効にすると、型付きパスを持つ JSON 型カラムにおいて、宣言された型に変換できない値を持つフィールドは、エラーをスローする代わりにスキップされます。スキップされたフィールドは欠損として扱われ、型付きパスの定義に基づいてデフォルト値または NULL 値が使用されます。

この設定は、特定のパスに宣言された型がある JSON 型カラム (例: JSON(a Int64, b String)) にのみ適用されます。通常の型付きカラムに挿入する際の、JSONEachRow のような通常の JSON 入力フォーマットには適用されません。

設定可能な値:

* 0 — 無効 (型の不一致時にエラーをスローする) 。
* 1 — 有効 (型の不一致時にフィールドをスキップする) 。

<div id="type_json_use_partial_match_to_skip_paths_by_regexp">
  ## type\_json\_use\_partial\_match\_to\_skip\_paths\_by\_regexp
</div>

<SettingsInfoBlock type="Bool" default_value="1" />

有効にすると、JSONオブジェクトをJSON型にパースする際、SKIP REGEXP で指定した正規表現は、パスをスキップするために部分一致が必要になります。無効にすると、完全一致が必要になります。
