วิธีการทำลูป JSONClass ของ SimpleJSON [Unity C#] by

31
Oct
1

หลังจากที่ได้รู้จักกับ JSONClass ใน Class SimpleJSON ซึ่งใช้ได้ค่อนข้างสะดวกกว่า Hashtable และ Dictionary มาก (แต่มีเงื่อนไขว่า Child ทั้งหมดเป็นได้แค่ String, Int, Float, Double, Boolean และตัวมันเอง) เนื่องจากสามารถเรียกค่าที่ซ้อนตัวมันเองได้ง่าย เช่น tempJsonClass["key"]["name"] ได้เลยซึ่งถ้าเก็บข้อมูลแบบนี้ไว้ใน Hashtable ล่ะก็ ต้องเรียก tempHashtable["key"] มาใส่ในอีก Hashtable ก่อนถึงจะเรียก key “name” ข้างในอีกทีออกมาได้ ซึ่งมีอย่างหนึงที่ SimpleJSON (จาก Link) ขาดไปคือการเรียก Keys เพื่อใช้ในการวนลูป (ซึ่งจรืงๆ SimpleJSON.cs ปกติมีฟังก์ชั่น GetEnumerator() ที่ Return Keys แต่ว่าเป็น IEnumerator ที่ต้องใช้ StartCouroutine()) เราเลยต้องเพิ่มโค๊ดส่วนหนึ่งเข้าไปใน Class SimpleJSON

เพิ่มโค๊ดด้านล่างนี้เข้าไปใน Class JSONClass ภายใน SimpleJSON.cs (Class อยู่ที่บรรทัด 696)

public Dictionary<string, JSONNode>.KeyCollection Keys{
  get { return m_Dict.Keys; }
}

แค่นี้เราก็สามารถเรียก Keys จาก JSONClass เพื่อมาใช้วน For Loop ได้แล้วล่ะครับ ตัวอย่างดังนี้

 

JSONClass tempJsonClass = SimpleJSON.JSON.Parse(result); //result เป็น String JSON ทั่วๆไป
foreach(string key in tempJsonClass .AsObject.Keys){ //ใช้ .AsObject.Keys เพื่อดึง Key ทั้งหมดได้เลย
  Debug.Log(key+":"+tempJsonClass[key]);
}

ง่ายๆเท่านี้แหละครับ

Enjoy this article?

Consider subscribing to our RSS feed!

1 ความเห็น

  1. tosawat
    17:21 on October 31st, 2014

    สุดยอดครับ

ใส่ความเห็น

RSS feed for comments on this post

 เราชนะรอบ 4 | ยืมเงิน 3000 ด่วน | แอพกู้เงิน | แอพเงินด่วน | สินเชื่อออนไลน์อนุมัติทันที | Site Map | กู้เงินก้อน | กระเป๋าตัง | thisshop และ ยืมเงินฉุกเฉิน 5000 ด่วน