การแปลงเป็น JSON
แปลงออบเจกต์ที่มีชนิดชัดเจนเป็น JSON และแปลงกลับ
ทำงานอย่างไร
System.Text.Json คือ API JSON ประสิทธิภาพสูงที่มีมาใน .NET สมัยใหม่
Serialize แปลง record เป็น JSON ส่วน Deserialize สร้างค่าที่มีชนิดกลับมา และการจัดการ nullable รองรับอินพุตที่ว่างหรือผิดรูปแบบ
ตัวอย่าง C# ที่รันได้
Program.cs
using System;
using System.Text.Json;
record Product(string Name, decimal Price);
class Program
{
static void Main()
{
var json = JsonSerializer.Serialize(new Product("Book", 12.5m));
var product = JsonSerializer.Deserialize<Product>(json);
Console.WriteLine($"{product?.Name}: {product?.Price}");
}
}
Book: 12.5ฝึกกับดีบักเกอร์
ตั้ง breakpoint ที่การกำหนดค่าหรือเงื่อนไขสำคัญ กด Debug แล้วดูค่าตัวแปรภายในก่อนไปยังบรรทัดถัดไป
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
- รวมตัวเลขในออบเจกต์ JSON แบบแบน แปลง JSON แบบแบนที่มีค่าเป็นจำนวนเต็ม แล้วบวกค่าทั้งหมดเข้าด้วยกัน ง่าย
- สร้างออบเจกต์ JSON เปลี่ยน keys และ values ให้เป็นสตริงของ JSON object พร้อม escape เครื่องหมายอัญประกาศและเครื่องหมาย backslash อย่างถูกต้อง ง่าย