[Unity C# SimpleJSON] วิธีการประกาศตัวแปร JSONClass แบบ inline by

31
Dec
0

วันนี้จะมาพูดถึงวิธีการประกาศตัวแปร JSONClass แบบ inline ที่ดูจะทำง๊ายง่ายแต่หา Syntax ที่ถูกกันไม่ได้อยู่นาน ซึ่งโดยปกติแล้วเราจะประกาศตัวแปรก่อนแล้วตามด้วย .Add เพื่อเพิ่มข้อมูลเข้าไปที่ละก้อน ดังนี้


JSONClass SampleObject = new JSONClass();
SampleObject.Add("action", "attack");
SampleObject.Add("target", targetPosition.ToString());
SampleObject.Add("order", DragableUnits.SkillOrderLabel.text);

แต่ถ้าเราอยากทำเป็น InLine ก็เขียนได้ง่ายๆแค่นี้ครับ


JSONClass SampleObject = new JSONClass();
{
{"action", "attack"},
{"target", targetPosition.ToString()},
{"order", DragableUnits.SkillOrderLabel.text},
};

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

วิธีการทำลูป 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]);
}

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

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