当前位置: 首页 > wzjs >正文

专业网站策划设计素材网站会员怎么买划算

专业网站策划,设计素材网站会员怎么买划算,做量化投资网站,网页开发与制作的软件C#使用JSON数据 数据存储(序列化):将C#的数据格式,转化为JSON字符串,存储或传输 数据使用(反序列化):将JSON字符串中存储的数据,转化为C#可用的数据格式,实现…
C#使用JSON数据

        数据存储(序列化):将C#的数据格式,转化为JSON字符串,存储或传输

        数据使用(反序列化):将JSON字符串中存储的数据,转化为C#可用的数据格式,实现代码逻辑

序列化(程序数据->JSON字符串)

反序列化(JSON字符串->程序数据)

Unity的JSON工具

        类名:JsonUtility

        序列化:ToJson()

//测试序列化(C#->JSON数据)
public void Serialize()
{//需要有C#数据OneRow data=new OneRow();data.Num=2;data.Name="呵呵";data.IsWoman="false";//将数据传递给JSON工具,会解析为JSON字符串,可用于存储或传输//参数1:C#数据//参数2:是否将JSON字符串格式化string j= JsonUtility.ToJson(data);Debug.Log(j);
}

反序列化:FromJson()

数据:string j="{\"Num\":1, \"Name\":\"root\", \"IsWoman\":false}";

C#与JSON对应的数据类型

//告诉Unity的JSON工具,解析JSON后,将数据存储在这个类型的对象中
public class OneRow
{public int Num;public string Name;public bool IsWoman;
}  
//解析JSON为C#对象
//因为JsonUtility.FromJson<T>()需要提供C#数据类型与JSON对应,所以需要在C#中定义数据类型
//将j变量中存储的JSON结构,转化为C#的OneRow类型数据
//T:C#接收类型
//参数:JSON字符串
OneRow data=JsonUtility.FromJson<OneRow>(j);
Debug.Log(data.Name);

注意:如果使用了Unity的内置解析类,JSON最外层结构必须是对象结构

当一个类需要存储在另外一个成员变量中时,需要给类声明加特性

[System.Serializable]     //类产生的对象数据,可以被序列化后存储

LitJson使用

        官网

                https://litjson.net/

https://github.com/LitJSON/litjson (看运气网址)

 导入src文件夹中的Csharp文件到Unity项目的Assets文件中

NuGet Gallery | LitJson.Source 0.19.0

出现以下警告,将下图中的该行注释即可:

序列化

        JsonMapper.ToJson();

反序列化

        获得JsonData(类似C#的object):JsonMapper.ToObject() 

        获得指定类型:JsonMapper.ToObject<T>()

注意

        反序列化不要求最外层是对象

        对象内部存储对象不需要[System.Serializable]修饰Class声明

LitJson(JsonMapper.ToObject<T>())示例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;public class TestJson : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){TextAsset asset = Resources.Load<TextAsset>("Json/JsonItem");string json = asset.text;List<int> data=JsonMapper.ToObject<List<int>>(json);Debug.Log(data[0]);}
}

LitJson(JsonMapper.ToObject())示例:引用前文的JSON道具数据(稍作修改)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;public class TestJson : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){//TestJsonData();TestItem();}public void TestJsonData(){TextAsset asset = Resources.Load<TextAsset>("Json/JsonItem");string json = asset.text;JsonData data=JsonMapper.ToObject(json);Debug.Log(data[0]);}void TestItem(){TextAsset asset = Resources.Load<TextAsset>("Json/WItem");string json = asset.text;JsonData data = JsonMapper.ToObject(json);Debug.Log(data[1]["Description"]);}
}

C#数据转json(litJson):

void TestToJson(){Debug.Log(JsonMapper.ToJson(new List<int> { 111, 222, 333 }));Debug.Log(JsonMapper.ToJson(new Dictionary<int, string> { { 1, "aa" }, { 2, "bb" },{ 3,"cc"} }));JsonData data = new JsonData();data["User"] = "admin";data["id"] = 123;data["Password"] = "15999";data["Des"] = null;Debug.Log(data.ToJson());}

TextAsset可以接受的文件类型

.txt    .html    .htm   .xml   .bytes     .json     .csv   .yaml   .fnt

该系列专栏为网课课程笔记,仅用于学习参考。    

http://www.dtcms.com/wzjs/535722.html

相关文章:

  • 外贸网站翻译建设自己创建一个网页
  • 企业服务网站建设需要多少钱建设一个菠菜网站成本
  • 上海建设工程交易中心网站网站建设构成
  • 长春网站建设方案外包个人网站链接怎么做
  • 360免费建站视频网页升级紧急通知通知
  • 织梦dede网站后台被挂黑链怎么办wordpress 统计小工具
  • 网站建设有什么好建议如何推广网址
  • ps个人网站的首页界面石家庄市住房和城乡建设局官方网站
  • 响应式瀑布流网站程序现在都用什么软件做网站
  • 长沙营销型网站郑州工装定制厂家哪家好
  • 做网站php软件菏泽市城乡和建设局网站
  • 广州市官网网站建设报价做一个手机app大概需要多少钱
  • 网站读取速度慢海淀区手机网站设计服务6
  • 手机开发者网站职场社交网站怎么做
  • 网站开发技术的比较代码判断网站
  • 北京网站设计公司飞沐有网站加金币的做弊器吗
  • 男女做受网站东营会计信息网官网首页
  • 网站这么上百度网站建设一年多少钱
  • 国内美食网站欣赏济南建设网站 概况
  • wordpress批量网站关键词优化排名要怎么做
  • 太原市手机微网站建设建筑木模板报价清单
  • 如何备份一个网站广告传媒公司营业执照经营范围
  • 安徽网站建设流程my域名
  • 教育网站建设规划书国内重大新闻十条
  • 哪些网站适合用自适应职高的电子商务主要学什么
  • 宁波网络建站公司有哪些wordpress 插件选项
  • o2o网站系统建设广东江门最新消息今天
  • 承装承修承试材料在哪个网站做自己做的网站源码如何安装
  • 网站价值评估 php开发公司总经理竞聘报告
  • 建设厅网站账号密码忘记怎么办html代码怎么下载