Ruby:
การทำงานกับ JSON

การทำ:

Ruby ด้วยไลบรารีมาตรฐานของมัน มอบวิธีการที่ราบรื่นในการแยกวิเคราะห์และสร้าง JSON โมดูลหลักสำหรับการดำเนินการเหล่านี้คือ json ซึ่งสามารถรวมเข้ากับแอพพลิเคชั่น Ruby ได้อย่างง่ายดาย

การแยกวิเคราะห์ JSON:

เพื่อแปลงสตริง JSON เป็นแฮชของ Ruby คุณสามารถใช้เมธอด JSON.parse

require 'json'

json_string = '{"name": "John Doe", "age": 30, "city": "New York"}'
ruby_hash = JSON.parse(json_string)

puts ruby_hash
# Output: {"name"=>"John Doe", "age"=>30, "city"=>"New York"}

การสร้าง JSON:

ในทางกลับกัน เพื่อแปลงแฮชของ Ruby เป็นสตริง JSON คุณใช้เมธอด JSON.generate หรือเมธอด to_json ที่มีให้สำหรับอ็อบเจ็กต์ Ruby เมื่อไลบรารี json ถูกต้องการ

require 'json'

ruby_hash = { name: "Jane Doe", age: 25, city: "Los Angeles" }
json_string = ruby_hash.to_json

puts json_string
# Output: {"name":"Jane Doe","age":25,"city":"Los Angeles"}

ไลบรารีบุคคลที่สาม:

ในขณะที่ไลบรารีมาตรฐานของ Ruby ครอบคลุมการจัดการ JSON พื้นฐาน โปรเจ็กต์มากมายพึ่งพาไลบรารีบุคคลที่สามสำหรับฟังก์ชันการทำงานและประสิทธิภาพที่เพิ่มขึ้น ตัวเลือกที่ได้รับความนิยมหนึ่งคือ Oj (Optimized JSON)

การแยกวิเคราะห์ด้วย Oj:

require 'oj'

json_string = '{"name": "Alex", "age": 40, "city": "Chicago"}'
ruby_hash = Oj.load(json_string)

puts ruby_hash
# Output: {"name"=>"Alex", "age"=>40, "city"=>"Chicago"}

การสร้างด้วย Oj:

Oj ยังมีวิธีการที่รวดเร็วในการสร้าง JSON จากอ็อบเจ็กต์ Ruby:

require 'oj'

ruby_hash = { name: "Samantha", age: 35, city: "Miami" }
json_string = Oj.dump(ruby_hash)

puts json_string
# Output: {"name":"Samantha","age":35,"city":"Miami"}

ตัวอย่างเหล่านี้แสดงให้เห็นถึงความเรียบง่ายในการทำงานกับ JSON ใน Ruby ทำให้สามารถเข้าถึงได้สำหรับงานต่างๆ ตั้งแต่การจัดการข้อมูลง่ายๆ ไปจนถึงการสื่อสาร API ที่ซับซ้อน