تحويل JSON إلى Ruby Hash

مناسبة لملفات seeds واختبارات RSpec وإعدادات Rails عندما تكون البيانات بصيغة JSON.

جارٍ تحميل الأداة…

المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.

طريقة الاستخدام

  1. أدخل نص JSON ونوع المفاتيح.
  2. تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
  3. انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.

طريقة الحساب

الكائن يصبح Hash والمصفوفة Array، و null يصبح nil. في وضع الرموز يكتب المفتاح name: أو "first-name": إذا لم يكن اسما صالحا. النصوص بعلامات مزدوجة مع هروب \ و " و #{ حتى لا يحدث استيفاء.

مثال

المدخلات: نوع المفاتيح = نصوص "key" =>. النتيجة: Ruby Hash: { "name" => "Ali", "age" => 30, "active" => true, "tags" => [ "admin", "editor" ], "address" => { "city" => "Riyadh", "zip" => nil } }، عدد القيم المنقولة: 7.

{
  "name": "Ali",
  "age": 30,
  "active": true,
  "tags": ["admin", "editor"],
  "address": {
    "city": "Riyadh",
    "zip": null
  }
}
{
  "name" => "Ali",
  "age" => 30,
  "active" => true,
  "tags" => [
    "admin",
    "editor"
  ],
  "address" => {
    "city" => "Riyadh",
    "zip" => nil
  }
}

الحدود والملاحظات

  • الناتج يطابق JSON.parse مع symbolize_names في وضع الرموز، ويطابقه دونه في وضع النصوص.
  • النصوص التي تحتوي نصف زوج UTF-16 منفرد لا تقبلها Ruby فتظهر رسالة خطأ.

أسئلة شائعة عن هذه الأداة

متى أختار مفاتيح الرموز؟

عندما يقرأ الكود القيم بالشكل hash[:name] كما في أغلب كود Rails. اختر النصوص إذا كنت تقرأ hash["name"].

لماذا يظهر \#{ في بعض النصوص؟

لأن #{ داخل نص Ruby بعلامات مزدوجة يعني استيفاء كود، والهروب يبقيه نصا عاديا.

هل الناتج صالح في كل إصدارات Ruby؟

المفاتيح بالشكل "text": تحتاج Ruby 2.2 أو أحدث، وباقي الناتج يعمل في الإصدارات الأقدم.