• unity3d c# http 请求json数据解析


     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 }

    LitJson.dll下载地址

    提取码:1znp

    前一段时间一直纠结unity连接数据库请求数据,浪费了不少时间。后来改用http请求,顺利拿到数据,然后就着手于解析数据,就有了这篇文章

    如果大家看不懂,这里有一个视频讲的还是相当详细的

  • 相关阅读:
    个人所得税避税的10种方法
    营业税
    融资租赁
    会计等式
    公司公积金
    fixed语句
    自由之路
    $or操作符
    $in 操作符
    Redis 字典的实现
  • 原文地址:https://www.cnblogs.com/caoxen/p/9578811.html
Copyright © 2020-2023  润新知