আমি আশ্চর্য হয়েছি কেউ জেএসএনের []পদ্ধতিটি নির্দেশ করে নি , যা জেএসএন থেকে / জেএসএন ডিকোড করা এবং এনকোড করা খুব সহজ এবং স্বচ্ছ করে তোলে।
যদি অবজেক্ট স্ট্রিং-জাতীয় হয় তবে স্ট্রিংটিকে বিশ্লেষণ করুন এবং একটি রুবি ডেটা স্ট্রাকচার হিসাবে পার্সড ফলাফলটি ফিরিয়ে দিন। অন্যথায় রুবি ডেটা স্ট্রাকচার অবজেক্ট থেকে একটি জেএসএন পাঠ্য উত্পন্ন করুন এবং এটি ফিরিয়ে দিন।
এই বিবেচনা:
require 'json'
hash = {"val":"test","val1":"test1","val2":"test2"} # => {:val=>"test", :val1=>"test1", :val2=>"test2"}
str = JSON[hash] # => "{\"val\":\"test\",\"val1\":\"test1\",\"val2\":\"test2\"}"
strএখন JSON এনকোডযুক্ত রয়েছে hash।
এটি ব্যবহার করে এটি বিপরীত করা সহজ:
JSON[str] # => {"val"=>"test", "val1"=>"test1", "val2"=>"test2"}
কাস্টম অবজেক্টগুলির to_sশ্রেণীর জন্য সংজ্ঞায়িত করা দরকার এবং এর অভ্যন্তরে বস্তুটিকে হ্যাশ রূপান্তর করে তারপরে to_jsonএটি ব্যবহার করুন।
value = '{"val":"test","val1":"test1","val2":"test2"}'আরও পাঠযোগ্য হতে পারে।