> ## 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_*

> إعدادات تنسيق ClickHouse ضمن مجموعة type_json_* المُنشأة.

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" />

عند تفعيل هذا الإعداد، يُسمح بتحليل JSON مثل `{"a" : 42, "a" : {"b" : 42}}`، حيث يكون أحد المفاتيح مكررًا ولكن تكون إحدى قيمه كائنًا متداخلًا.

<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)) التي تكون فيها أنواع بعض المسارات معلنة صراحةً. ولا ينطبق على تنسيقات إدخال JSON العادية مثل JSONEachRow عند إدراج البيانات في الأعمدة العادية محددة الأنواع.

القيم الممكنة:

* 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 مطابقة جزئية لتخطي مسار. وعند تعطيله، ستلزم مطابقة كاملة.
