【转】Unity利用WWW http传输Json数据

http://blog.csdn.net/h570768995/article/details/50386935

首先去下载LitJson.dll,放在Plugins 目录下;

LitJson可以从下面的地址获得:http://download.csdn.net/detail/h570768995/9373927

然后我们定义json格式,比如我们需要如下格式:

{"intValue":345,"longValue":345679876,"stringValue":"xiaoxian","byteValue":‘v‘,"doubleValue":345.87}

为了能对应该Json格式,我们需要定义如下类:

[csharp] view plain copy

  1. public class MessageJson
  2. {
  3. public int intValue;
  4. public long longValue;
  5. public string stringValue;
  6. public byte byteValue;
  7. public double doubleValue;
  8. }

然后在方法中声明该类,接着将其映射为Json格式:

[csharp] view plain copy

  1. MessageJson msgJson = new MessageJson();
  2. msgJson.intValue = 20;
  3. msgJson.longValue = 10000000000000L;
  4. msgJson.stringValue = "chenhao";
  5. msgJson.byteValue = (byte)msgJson.intValue;
  6. msgJson.doubleValue = 3153456.125651;
  7. string jsonDataPost = JsonMapper.ToJson(msgJson);

如此将该数据传送出去:

[csharp] view plain copy

  1. WWW www = new WWW("http://192.168.1.192:18080/test",Encoding.UTF8.GetBytes(jsonDataPost));

接着等待数据,并可以打印出来:

[csharp] view plain copy

  1. while(!www.isDone)
  2. {
  3. Debug.Log("wait");
  4. }
  5. yield return www;
  6. if(www.error!=null)
  7. {
  8. Debug.LogError(www.error);
  9. }
  10. else
  11. {
  12. Debug.Log(www.text);
  13. //取数据1
  14. MessageJson msgJsonRecieve = JsonMapper.ToObject<MessageJson>(www.text);
  15. Debug.Log(msgJsonRecieve.intValue);
  16. Debug.Log(msgJsonRecieve.longValue);
  17. Debug.Log(msgJsonRecieve.stringValue);
  18. Debug.Log(msgJsonRecieve.byteValue);
  19. Debug.Log(msgJsonRecieve.doubleValue);
  20. //取数据2
  21. JsonData jsonData = JsonMapper.ToObject(www.text);
  22. if (jsonData["stringValue"] != null)
  23. {
  24. Debug.Log(jsonData["stringValue"].ToString());
  25. }

JsonMapper映射可以无视排序问题,它只看“键值对”中的键。

时间: 2024-10-26 06:12:27

【转】Unity利用WWW http传输Json数据的相关文章

C++和python利用struct结构传输二进制数据实现

网络编程中经常会涉及到二进制数据传输的问题,在C++中常用的传输方式有文本字符串和结构体封包.如果能将要发送的数据事先放进连续的内存区,然后让send函数获取这片连续内存区的首地址就可以完成数据的发送了,文本字符串如char型数组,以字节为单位,在内存中是顺序存储的,所以可以直接用send函数发送.但是如果要同时发送多个不同类型的数据时,它们在内存中存储的地址是随机的,不是顺序存储的,而且它们之间的相对位置也无法确定,这样就需要一种数据组织方式来明确各数据之间的相对位置.结构体显然就是一种的数据

Unity:通过LitJson对JSON数据创建与使用

本文章首发于Unity:通过litjson对json数据创建与使用 科普时间: LitJSON是一个使用C#编写的.NET库,我们可以通过它来处理JSON数据. JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据.简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生

c# 利用结构体获取json数据

最近做微信支付,要获取用户的openid,调用接口后返回的是json格式的数据,我想在c#后台把数据逐一取出,网上查了查,找到以下方法: 1.首先调用接口,要有一个post数据到指定url并返回数据的函数: protected string PostXmlToUrl(string url, string postData) { string returnmsg = ""; using (System.Net.WebClient wc = new System.Net.WebClient

Django之AJAX传输JSON数据

AJAX中JSON数据传输: AJAX请求JSON类型数据: ·         AJAX通过GET或者POST方式都可以发送JSON数据请求,需要指定内容类型:‘Content-Type':'application/json',post请求必须设置 headers:{'X-CSRFToken': $('input[name=csrfmiddlewaretoken]').val()},在请求头部进行csrf认证: ·         请求数据data经过JSON.stringify()进行序列化

利用Jquery获取服务器端json数据

json (JavaScript Object Notation)是一种轻量级的数据交换格式,它使用的是的http get请求 通过jQuery的.getJSON()方法获取json数据,并转化为字符串 $.getJSON("/json/cats.json",function(json){        $(".message").html(JSON.stringify(json));      }); });

mui.ajax与服务器(SpringMVC)传输json数据

跨域问题 PC端为了安全,所以禁止跨域.而我使用mui做移动web时,难免会使用pc浏览器进行调试.mui.ajax是允许跨域的.为了可以调试成功,需要对浏览器进行设置及.以360急速浏览器为例,设置如下: 即在目标后添加 --disable-web-security(前面有空格) 前端设置 <script type="text/javascript" charset="UTF-8"> regInfo = {name:'wuchao',password:

(转载)利用HttpWebRequest通过POST Json数据在.net后台实现不同平台间的数据传输

/// <summary> /// 返回JSon数据 /// </summary> /// <param name="JSONData">要处理的JSON数据</param> /// <param name="Url">要提交的URL</param> /// <returns>返回的JSON处理字符串</returns> public string GetResponse

利用在线工具根据JSon数据自动生成对应的Java实体类

如果你希望根据JSon数据自动生成对应的Java实体类,并且希望能进行变量的重命名,那么“JSON To Java”一定适合你.(下面的地址需要FQ) https://jsontojava.appspot.com/ 简单快速有效,适合追求效率的你.

Socket传输JSON数据

//请求登录的JSON数据 { "request":"login", "data": { "username":"zhangsan", "password":"123", "client":"iphone", "other":"" } } //请求查询时候的JSON数据 1.通过姓名查询