Unity登录服务器及处理返回的json数据

本文由 @EGWriket出品,转载请注明出处。
http://blog.csdn.net/egwriket/article/details/53179400

环境

软件:untiy5.0.2f1

界面

使用自带的UGUI,主要是输入框和登录按钮
这里写图片描述
UI:
这里写图片描述

连接网络

代码

新建LoginEvent脚本

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
//处理json引用
//using LitJson; 


public class LoginEvent : MonoBehaviour
{
    public InputField Inp_Username;
    public InputField Inp_Password;

    public string url = "http://172.18.6.122:8080/sc/soa";

    登录
    public void ToLogin()
    {//UGUI控件事件不能绑定IEnumerator方法
        this.StartCoroutine(this.Login());
    }


    public IEnumerator Login()
    {

        WWWForm sum = new WWWForm();
        sum.AddField("fun", "tologin");
        sum.AddField("p1", Inp_Username.text);
        sum.AddField("p2", Inp_Password.text);
        WWW ww2 = new WWW(url, sum);
        yield return ww2;
        //查看数据
        Debug.Log(ww2.text);        
    }   
}

绑定事件

这里写图片描述
1.新建一个空对象,改名为Event
2.把脚本LoginEvent绑定Event
3.把两个InputField控件拖进Inspector界面的LoginEvent(Script)下
这里写图片描述
4.选择ButtonLogin这个Button控件
5.到Inspector界面找到Button(Script)的On Click()底下的+
6.把Event拖进None
这里写图片描述
7.点击No Function选择底下的LoginEvent
8.选择ToLogin

处理返回的json数据

处理json要有专门的库,即LitJson.dll,链接:http://pan.baidu.com/s/1kUZfa8B 密码:t2yx
放在Asset的PlugIns文件夹下,记得using LitJson;

代码

接返回数据

      //假如返回的数据json格式是这样的话:{"status":"200","rows":"1","rs":[{"result":"1"}]}

        string a = ww2.text;
        //转成json格式,需要下载dll
        JsonData jd = JsonMapper.ToObject(a);
        Debug.Log("status = " + (string)jd["status"]);

        JsonData jdItems = jd["rs"];
        //for (int i = 0; i < jdItems.Count; i++)
        //{
        //    Debug.Log("result= " + jdItems[i]["result"]);

        //}
        Debug.Log("result= " + jd["rs"][0]["result"]);
        //连接成功
        if ((string)jd["status"] == "200")
        {//没有这个账号
            if ((string)jdItems[0]["result"] == "0")
            {
                Debug.Log("没有这个用户");
            }//有这个账号
            else
            {
                Connect.User = Inp_Username.text;
                Application.LoadLevel("ChoseMenu2");
            }

        }//连接服务器失败
        else
        {
            Debug.Log("连接服务器错误");
        }
    }

运行

1.先在浏览器输入url,看返回什么结果
这里写图片描述
2.运行,输入用户名,密码
这里写图片描述
3.看调试
这里写图片描述
4.随便说说
返回是的json字符串才能用
接了个untiy加急项目,要两周完成,海康威视的研究只好暂时缓缓,唉,心累,我unity也就是半桶水还没,公司也是心大,什么都敢接

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值