تحويل بيانات JSON إلى تعريفات مخطط Protocol Buffer، مع إنشاء فوري
تحويل التنسيق
حول هذه الأداة
أداة JSON إلى Protobuf تحول بيانات JSON إلى تعريفات مخطط Protocol Buffer (.proto). تستنتج أنواع الحقول تلقائيًا، وتعالج الكائنات والمصفوفات المتداخلة، وتنشئ صيغة proto3 صالحة، وجميع العمليات تتم محليًا في المتصفح دون حاجة إلى خادم.
الميزات الرئيسية
- استنتاج تلقائي لأنواع الحقول من قيم JSON
- دعم الكائنات المتداخلة وحقول repeated
- إنشاء صيغة proto3 صالحة مع ترقيم تلقائي للحقول
- اسم حزمة وإصدار صيغة قابلين للتخصيص
- نسخ وتنزيل تعريفات المخطط المُنشأة بنقرة واحدة
- تحويل فوري للإدخال، يُنشأ أثناء الكتابة
حالات الاستخدام
- إنشاء ملفات .proto من JSON API موجود لترحيل gRPC
- إنشاء نماذج أولية سريعة لمخططات Protocol Buffer من بيانات نموذجية
- تحويل استجابات REST API إلى تعريفات Protocol Buffer
- تأسيس عقود اتصال الخدمات المصغرة من أمثلة JSON
- إنشاء مخططات Protobuf لتسلسل البيانات في المشاريع متعددة اللغات
json
protobuf
grpc
schema
protocol-buffers
الأسئلة الشائعة
ما الفرق بين proto2 و proto3؟
Proto3 هو الإصدار الأحدث، بصيغة أبسط — أزال الحقول المطلوبة والقيم الافتراضية وتتبع وجود الحقول. Proto2 يدعم معدّلات required/optional والقيم الافتراضية الصريحة. للمشاريع الجديدة، يُنصح باستخدام proto3، ما لم تكن بحاجة إلى التحقق من وجود الحقول.
كيف تعالج الأداة كائنات JSON المتداخلة؟
تُحول الكائنات المتداخلة تلقائيًا إلى تعريفات message مستقلة. على سبيل المثال، كائن JSON يحتوي على حقل "address" متداخل، سيُنشئ message رئيسي و message "Address"، مع إشارة الحقل إلى نوع message المتداخل.
كيف تُحول مصفوفات JSON في المخطط؟
تُحول مصفوفات JSON إلى حقول repeated في Protobuf. إذا احتوت المصفوفة على كائنات، يُستنتج نوع العنصر من العنصر الأول. قد تُكتشف مصفوفات السلاسل النصية كنوع enum إذا كانت جميع القيم سلاسل نصية مختلفة وغير فارغة.
هل يمكن تخصيص اسم الحزمة واسم الرسالة؟
نعم. يمكنك تعيين اسم حزمة مخصص في الخيارات، وسيُدرج في رأس proto3. يستخدم اسم الرسالة العلوية افتراضيًا صيغة PascalCase لاسم الحزمة، وتُشتق أسماء الرسائل المتداخلة من مفاتيح JSON.
هل البيانات آمنة عند استخدام هذه الأداة؟
آمنة تمامًا. تتم جميع عمليات التحويل محليًا في المتصفح، ولا يتم تحميل أي بيانات JSON إلى أي خادم، مما يضمن خصوصية وأمان معلوماتك بالكامل.