تحويل JSON إلى Ruby Hash
مناسبة لملفات seeds واختبارات RSpec وإعدادات Rails عندما تكون البيانات بصيغة JSON.
جارٍ تحميل الأداة…
المعالجة والخصوصية: تُحسب النتيجة داخل متصفحك ولا تُرسل بياناتك إلى أي خادم.
طريقة الاستخدام
- أدخل نص JSON ونوع المفاتيح.
- تظهر النتيجة فورًا وتتحدّث مع كل تعديل.
- انسخ النتيجة، أو انسخ رابطًا يحفظ القيم نفسها لمشاركتها.
طريقة الحساب
الكائن يصبح 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 أو أحدث، وباقي الناتج يعمل في الإصدارات الأقدم.
