قم بتنسيق وتجميل بيانات JSON الخاصة بك مع التباعد المناسب. يجعل JSON الخام قابلاً للقراءة مع تمييز التركيب والتحقق.
قم بتنسيق وتحسين JSON الخاص بك باستخدام هذه الأداة البسيطة
سيظهر JSON المنسق هنا...
JSON (JavaScript Object Notation) هو تنسيق خفيف لتبادل البيانات الذي أصبح معيارًا لتبادل البيانات في تطبيقات الويب. على الرغم من بساطته، يمكن أن تصبح بيانات JSON صعبة القراءة عندما تكون مضغوطة أو تفتقر إلى التنسيق المناسب. تساعد هذه الأداة في تحويل سلاسل JSON الخام وغير المنسقة إلى شكل منظم ومهيكل جيدًا يسهل قراءته وتحليله.
يضيف تنسيق JSON (المعروف أيضًا باسم "الطباعة الجميلة") المسافات البادئة المتسقة، وفواصل الأسطر، والمسافات لجعل الهيكل الهرمي لبيانات JSON واضحًا بصريًا. هذا مفيد بشكل خاص عند العمل مع كائنات متداخلة معقدة أو مجموعات بيانات كبيرة حيث قد تكون العلاقات بين العناصر صعبة الفهم بخلاف ذلك.
توفر أداتنا لتنسيق JSON واجهة بسيطة لتجميل بيانات JSON الخاصة بك مع المسافات البادئة المناسبة والبنية، مما يجعلها أكثر قابلية للقراءة للبشر مع الحفاظ على صلاحيتها للآلات.
تتكون JSON من هيكلين أساسيين:
{}
. يتبع كل اسم نقطتين :
وتفصل الأزواج بفواصل ,
.1 {"name": "جون", "age": 30, "city": "نيويورك"}
2
[]
. تفصل القيم بفواصل ,
.1 ["تفاح", "موز", "كرز"]
2
يمكن أن تكون قيم JSON:
"مرحبا بالعالم"
42
أو 3.14159
true
أو false
null
{"key": "value"}
[1, 2, 3]
يجب أن تتبع JSON الصحيحة هذه القواعد النحوية:
تشمل الأخطاء الشائعة في التركيب:
يحول تنسيق JSON JSON المضغوط والمصغر إلى شكل أكثر قابلية للقراءة من خلال:
التحليل: يتم أولاً تحليل سلسلة JSON للتأكد من صحتها ولإنشاء تمثيل في الذاكرة لهيكل البيانات.
المسافات البادئة: يتم إضافة مسافات بادئة لكل مستوى متداخل من الكائنات والمصفوفات (عادةً بمقدار 2 أو 4 مسافات) لتمثيل الهيكلية بصريًا.
فواصل الأسطر: تُضاف أسطر جديدة بعد كل خاصية أو عنصر مصفوفة لتحسين قابلية القراءة.
المسافات: تُضاف مسافات متسقة حول النقطتين والفواصل.
على سبيل المثال، تصبح هذه JSON المضغوطة:
1{"name":"جون دو","age":30,"address":{"street":"123 Main St","city":"Anytown","state":"CA"},"hobbies":["قراءة","تسلق","تصوير"]}
2
هذه JSON المنسقة:
1{
2 "name": "جون دو",
3 "age": 30,
4 "address": {
5 "street": "123 Main St",
6 "city": "Anytown",
7 "state": "CA"
8 },
9 "hobbies": [
10 "قراءة",
11 "تسلق",
12 "تصوير"
13 ]
14}
15
تستخدم أداتنا مسافة بادئة قياسية قدرها 2 مسافات لكل مستوى، وهو تقليد شائع في مجتمع التطوير ويوفر توازنًا جيدًا بين الكثافة وقابلية القراءة.
جانب حاسم من تنسيق JSON هو التحقق من الصحة. قبل أن يمكن تنسيق JSON، يجب أن يكون صحيحًا نحويًا وفقًا لمواصفات JSON. تشمل الأخطاء الشائعة في التحقق من الصحة:
أخطاء التركيب:
أخطاء نوع البيانات:
undefined
أو NaN
عند مواجهة JSON غير صحيحة، يمكن أن تساعد رسالة الخطأ في تحديد المشكلة. ستشير معظم محللات JSON إلى الموضع الذي فشل فيه التحليل، مما يمكن أن يساعد في تحديد المشكلة. توفر أداتنا رسائل خطأ واضحة لمساعدتك في تحديد وإصلاح المشكلات في بيانات JSON الخاصة بك.
يعد تنسيق JSON مفيدًا في العديد من السيناريوهات:
عند العمل مع واجهات برمجة التطبيقات RESTful، يجعل JSON المنسق من الأسهل:
تستخدم العديد من التطبيقات الحديثة JSON للتكوين:
يساعد تنسيق JSON عند:
يعد تنسيق JSON المناسب ضروريًا عند:
يعد تنسيق JSON الواضح مفيدًا لـ:
بينما تعتبر أداتنا عبر الإنترنت لتنسيق JSON مريحة لمهام التنسيق السريعة، توجد العديد من البدائل لسيناريوهات مختلفة:
تتضمن المتصفحات الحديثة قدرات تنسيق JSON:
تقدم معظم بيئات التطوير أدوات تنسيق JSON:
للمستخدمين في الطرفية أو الأتمتة:
jq
هو معالج JSON قوي من سطر الأوامرjson_pp
يأتي مثبتًا مسبقًا على العديد من أنظمة Unixpython -m json.tool
تنسيقًا سريعًا باستخدام Pythonعند تنسيق JSON داخل التطبيقات:
1// تنسيق JSON في جافا سكريبت
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# تنسيق JSON في بايثون
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// تنسيق JSON في جافا مع Gson
2Gson gson = new GsonBuilder().setPrettyPrinting().create();
3String formatted = gson.toJson(jsonObject);
4
1# تنسيق JSON في روبي
2require 'json'
3formatted = JSON.pretty_generate(json_object)
4
1// تنسيق JSON في PHP
2$formatted = json_encode($jsonObject, JSON_PRETTY_PRINT);
3
تم إنشاء JSON بواسطة دوغلاس كروكفورد في أوائل العقد الأول من القرن الحادي والعشرين كبديل خفيف لـ XML. تم اشتقاق التنسيق من بناء جملة كائن JavaScript ولكن تم تصميمه ليكون مستقلًا عن اللغة. في عام 2006، تم تحديد JSON رسميًا في RFC 4627، وسرعان ما اكتسبت شعبيته بسبب بساطته وتوافقه مع JavaScript.
قبل JSON، كان XML هو التنسيق السائد لتبادل البيانات، ولكن كان verbosity والتعقيد الخاص به يجعلانه غير مريح للعديد من التطبيقات. قدمت JSON بناء جملة أكثر اختصارًا كان أسهل في القراءة والكتابة، لكل من البشر والآلات. كما أنها كانت تتماشى تمامًا مع نموذج كائنات JavaScript، مما جعلها الخيار الطبيعي لتطبيقات الويب.
تسارعت اعتماد JSON مع ظهور AJAX وواجهات برمجة التطبيقات RESTful في منتصف العقد الأول من القرن الحادي والعشرين. بحلول العقد الثاني من القرن الحادي والعشرين، أصبحت المعيار الفعلي لواجهات برمجة التطبيقات على الويب، وملفات التكوين، وتخزين البيانات في قواعد البيانات NoSQL مثل MongoDB وCouchDB.
اليوم، يتم دعم JSON من قبل تقريبًا كل لغة برمجة وتستخدم في عدد لا يحصى من التطبيقات عبر الويب. لقد جعلت بساطتها ومرونتها والدعم العالمي لها واحدة من أهم تنسيقات البيانات في الحوسبة الحديثة.
إليك أمثلة حول كيفية تنسيق JSON في لغات برمجة مختلفة:
1// تنسيق JSON في جافا سكريبت
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `خطأ: ${error.message}`;
8 }
9}
10
11// مثال للاستخدام
12const rawJSON = '{"name":"جون","age":30,"city":"نيويورك"}';
13console.log(formatJSON(rawJSON));
14
1# تنسيق JSON في بايثون
2import json
3
4def format_json(json_string):
5 try:
6 parsed_data = json.loads(json_string)
7 return json.dumps(parsed_data, indent=2)
8 except json.JSONDecodeError as e:
9 return f"خطأ: {str(e)}"
10
11# مثال للاستخدام
12raw_json = '{"name":"جون","age":30,"city":"نيويورك"}'
13print(format_json(raw_json))
14
1// تنسيق JSON في جافا مع Gson
2import com.google.gson.Gson;
3import com.google.gson.GsonBuilder;
4import com.google.gson.JsonSyntaxException;
5
6public class JSONFormatter {
7 public static String formatJSON(String jsonString) {
8 try {
9 Gson gson = new GsonBuilder().setPrettyPrinting().create();
10 Object parsedJson = gson.fromJson(jsonString, Object.class);
11 return gson.toJson(parsedJson);
12 } catch (JsonSyntaxException e) {
13 return "خطأ: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"name\":\"جون\",\"age\":30,\"city\":\"نيويورك\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// تنسيق JSON في PHP
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "خطأ: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// مثال للاستخدام
11$rawJSON = '{"name":"جون","age":30,"city":"نيويورك"}';
12echo formatJSON($rawJSON);
13
1# تنسيق JSON في روبي
2require 'json'
3
4def format_json(json_string)
5 begin
6 parsed_data = JSON.parse(json_string)
7 return JSON.pretty_generate(parsed_data)
8 rescue JSON::ParserError => e
9 return "خطأ: #{e.message}"
10 end
11end
12
13# مثال للاستخدام
14raw_json = '{"name":"جون","age":30,"city":"نيويورك"}'
15puts format_json(raw_json)
16
1// تنسيق JSON في C# مع Newtonsoft.Json
2using Newtonsoft.Json;
3using System;
4
5class JSONFormatter
6{
7 public static string FormatJSON(string jsonString)
8 {
9 try
10 {
11 object parsedJson = JsonConvert.DeserializeObject(jsonString);
12 return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
13 }
14 catch (JsonException e)
15 {
16 return $"خطأ: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"name\":\"جون\",\"age\":30,\"city\":\"نيويورك\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// تنسيق JSON في Go
2package main
3
4import (
5 "encoding/json"
6 "fmt"
7)
8
9func formatJSON(jsonString string) string {
10 var parsedData interface{}
11 err := json.Unmarshal([]byte(jsonString), &parsedData)
12 if err != nil {
13 return fmt.Sprintf("خطأ: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("خطأ: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"name":"جون","age":30,"city":"نيويورك"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
عند العمل مع تنسيق JSON، كن على دراية بهذه التحديات المحتملة:
يمكن أن تسبب ملفات JSON الكبيرة جدًا (عدة ميغابايت أو أكثر) مشاكل في الأداء في أدوات التنسيق المستندة إلى المتصفح. في مثل هذه الحالات:
jq
يمكن أن تصبح JSON المتداخلة بشكل مفرط (أكثر من 10-20 مستوى عميقًا) صعبة التنقل حتى عند تنسيقها. في هذه الحالات:
تدعم JSON Unicode، ولكن قد تواجه بعض أدوات التنسيق مشاكل مع بعض الأحرف:
لا تحدد JSON الدقة للأرقام، مما قد يؤدي إلى مشاكل مع الأعداد الكبيرة جدًا أو القيم العشرية:
تتضمن JSON الصالحة الكائنات الفارغة {}
والمصفوفات []
، والتي يجب تنسيقها بشكل صحيح:
{}
[]
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك