简单工厂,请求json数据解析

大家都学过了django,用django写了各种功能,写了bbs项目,写了路飞学城。

慢慢的做记录,做最强大的自己

 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 }

咱们都知道django是一个web框架,方便我们快速开发web程序,http请求的动态数据就是由web框架来提供处理的。

看了大话设计模式之后感触很深,发现自己还有很多学习的东西,设计软件并不是一两句代码把功能写完了就行,需要思考的内容有很多

LitJson.dll下载地址

前面超哥也对nginx简单的介绍了,本文将nginx、WSGI、uwsgi、uWSGI、django这几个关系梳理一下。

代码来源参考大话设计模式这本书,这里在博客里记录一下,不可能每次都去翻书,但是在博客里面是非常好找的。

密码:1znp

wsgi    全称web server gateway interface,wsgi不是服务器,也不是python模块,只是一种协议,描述web server如何和web application通信的规则。
运行在wsgi上的web框架有bottle,flask,django

uwsgi    和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型

uWSGI    是一个web服务器,实现了WSGI协议,uwsgi协议。a

nginx    web服务器,更加安全,更好的处理处理静态资源,缓存功能,负载均衡,因此nginx的强劲性能,配合uWSGI服务器会更加安全,性能有保障。

django 高级的python web框架,用于快速开发,解决web开发的大部分麻烦,程序员可以更专注业务逻辑,无须重新造轮子

范例为一个简单工厂模式的计算器,首先先创建一个计算器运算所需要用到的数据模型,在java里面也叫bean,就是一个抽象的类,这里我们先创建一个Operation类

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

逻辑图

图片 1

web服务器

传统的c/s架构,请求的过程是
客户端 > 服务器 
服务器 > 客户端
服务器就是:1.接收请求 2.处理请求 3.返回响应

web框架层

HTTP的动态数据交给web框架,例如django遵循MTV模式处理请求。
HTTp协议使用url定位资源,urls.py将路由请求交给views视图处理,然后返回一个结果,完成一次请求。
web框架使用者只需要处理业务的逻辑即可。

如果将一次通信转化为“对话”的过程

Nginx:hello wsgi,我刚收到一个请求,你准备下然后让django来处理吧

WSGI:好的nginx,我马上设置环境变量,然后把请求交给django

Django:谢谢WSGI,我处理完请求马上给你响应结果

WSGI:好的,我在等着

Django:搞定啦,麻烦wsgi吧响应结果传递给nginx

WSGI:太棒了,nginx,响应结果请收好,已经按照要求传递给你了

nginx:好滴。我把响应交给用户。合作愉快

public class Operation
    {
        private double _numberA = 0;
        private double _numberB = 0;

        public double NumberA
        {
            get { return _numberA; }
            set { _numberA = value; }
        }

        public double NumberB
        {
            get { return _numberB; }
            set { _numberB = value; }
        }

        public virtual double GetResult()
        {
            double results = 0;
            return results;
        }



    }

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

本文由澳门新葡亰平台官网发布于编程,转载请注明出处:简单工厂,请求json数据解析

TAG标签:
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。