1 using System.Collections; 2 using System.Collections.Generic; 3 using UnityEngine; 4 using UnityEngine.Networking; 5 using LitJson; 6 using System.IO; 7 using System.Net; 8 9 10 public class Connet : MonoBehaviour { 11 12 //private ArrayList List = new ArrayList(5); 13 //private Rect rect = new Rect(10, 50, 150, 150); 14 //請求地址,寫自己的請求地址就行 15 private string url = "http://xxxxxxxxx/ApiServlet?method=list"; 16 //宣告 JsonData LitJson 提供的方法 17 JsonData itemdata; 18 //新建 List 存放資料 19 private List<Item> dataBase = new List<Item>(); 20 21 IEnumerator Start() 22 { 23 24 WWW getData = new WWW(url); 25 yield return getData; 26 27 if (getData.error != null) 28 { 29 Debug.Log(getData.error); 30 } 31 else 32 { 33 Debug.Log(getData.text); 34 } 35 //把請求到的資料轉換成 JsonData array 型別,並儲存到itemdata裡 36 itemdata = JsonMapper.ToObject(getData.text); 37 //Debug.Log(itemdata); 38 //呼叫 ConstructItemDatabase() 函式 39 ConstructItemDatabase(); 40 //測試資料 41 Debug.Log(dataBase[0].Name); 42 } 43 void ConstructItemDatabase() 44 { 45 //迴圈取資料 46 for (int i = 0; i < itemdata.Count; i++) 47 { 48 //把每個資料都新增到 dataBase 裡 要和請求到的json資料對應 49 dataBase.Add(new Item((int)itemdata[i]["longId"], (int)itemdata[i]["intId"], itemdata[i]["item"].ToString())); 50 } 51 } 52 } 53 54 //新建Item類 55 public class Item 56 { 57 //定義Item內的資料 58 //固定寫法 XX{ get; set; } 59 public int ID { get; set; } 60 public int IntId { get; set; } 61 public string Name { get; set; } 62 63 //接收上面的變數 64 public Item(int _longId, int _intId, string _name) 65 { 66 ID = _longId; 67 IntId = _intId; 68 Name = _name; 69 } 70 }
密碼:1znp
前一段時間一直糾結unity連線資料庫請求資料,浪費了不少時間。後來改用http請求,順利拿到資料,然後就著手於解析資料,就有了這篇文章
如果大家看不懂,這裡有一個視訊講的還是相當詳細的