首先在Unity的Assets目录下新建一个Plugins文件夹,引入LitJson.dll类库!!!

编写读写脚本时,还需要再导入命名空间 using LitJson

关于Litjson文件:

可以去官网下载一个文件包;.dll文件存在于  litjson-0.5.0/bin目录。

Litjson官网下载链接:LitJSON download | SourceForge.net

具体操作:

先定义一个类,假如现在是要查看手机里APP的信息,把信息先放进去(这里分为简单和复杂读取时的情况,测试的时候要先把另一个注释掉!)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class APPofMine
{public int appNum;public bool phoneState;//简单写入和读取的时候直接用List来保存数据//public List<string> appList;//复杂写入和读取的时候定义一个List存放另一个类里的数据public List<AppProperty> appPropertiesList;
}

另一个类里的数据: 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class AppProperty
{public string appName;public string ErenID;public bool ErenFavour;public List<int> useTimeList;
}

写入和读取的方法及调用测试代码:

代码比较长,有详细的注释!可以直接全段复制~

PS:测试时要先在Unity创建一个物体,然后把此脚本挂在物体下,另外还需要在Assets目录下创建一个 Resources 文件夹,再在Resources 文件夹下创建一个Json文件夹!!!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
using System.IO;public class JosnTest : MonoBehaviour
{private APPofMine appOfMine;// Start is called before the first frame updatevoid Start(){#region 简单Json信息的存储和读取//简单Json信息的存储和读取/*写入//appOfMine = new APPofMine//{//    appNum = 3,//    phoneState = true,//    appList = new List<string>()//    {//        "抖音","BiliBili","绝地求生"//    }//};//SaveByJson();//读取appOfMine = new APPofMine();appOfMine = LoadByJson();print(appOfMine.appNum);print(appOfMine.phoneState);foreach (var item in appOfMine.appList){print(item);}*/#endregion#region 复杂Json信息写入和读取写入//appOfMine = new APPofMine//{//    appNum = 3,//    phoneState = true,//    appPropertiesList = new List<AppProperty>()//};//AppProperty appProperty = new AppProperty//{//    appName = "抖音",//    ErenID = "冬瓜大浪",//    ErenFavour = true,//    useTimeList = new List<int> { 6, 7, 8 }//};//appOfMine.appPropertiesList.Add(appProperty);//SaveByJson();//读取appOfMine = LoadByJson();print(appOfMine.appNum);print(appOfMine.phoneState);foreach (var item in appOfMine.appPropertiesList){print(item);print(item.appName);print(item.ErenFavour);print(item.ErenID);foreach (var itemGo in item.useTimeList){print(itemGo);}}#endregion}#region 简单存储Json信息文件的方法//存储Json信息文件private void SaveByJson(){//找到文件要存储的路径string filePath = Application.dataPath/*Assets根目录*/ + "/Resources"/*后续路径*/ + "/APPofMine.json"/*文件名*/;//利用JsonMapper将 信息类对象(字段名) 转化成 json格式 的 字符串string saveJsonStr = JsonMapper.ToJson(appOfMine);//创建一个文件流将字符串写入一个文件中StreamWriter sw = new StreamWriter(filePath);//开始写入sw.Write(saveJsonStr);//关闭文件流sw.Close();}#endregion#region 简单读取Json的信息文件//读取Json的信息文件private APPofMine LoadByJson(){APPofMine appGo = new APPofMine();//找到需要读取文件的路径string filePath = Application.dataPath/*Assets根目录*/ + "/Resources"/*后续路径*/ + "/APPofMine.json"/*文件名*/;//先判断如果文件夹存在if (File.Exists(filePath)){//创建一个新的变量 sr ,用来存储读取到的数据,开始读取StreamReader sr = new StreamReader(filePath);//把读取到的信息转换成字符串的形式存储下来string loadJsonStr = sr.ReadToEnd();//关闭文件流sr.Close();//存储读取到的数据appGo = JsonMapper.ToObject<APPofMine>(loadJsonStr);}//判空if (appGo == null){Debug.Log("读取Json文件失败");}return appGo;}#endregion}

最近工作中遇到一个需求,后端的一个接口的参数是List,List中的元素又是数组,相当于二维数组。但是二维数组无法直接转成Json格式传递。

      搞了好一会儿,记录一下方法:

        JsonData addressInfo = new JsonData();//创建一个addressInfo对象foreach (var item in companyInfo.address){JsonData dataArray = new JsonData();//在addressInfo中再创建一个对象dataArray["id"] = item.id;dataArray["address"] = item.address;addressInfo.Add(dataArray);//依次添加进addressInfo}jd["address"] = addressInfo;//赋值

Unity——写入和读取Json信息的方法相关推荐

  1. python操作文件的库_Python使用pyshp库读取shapefile信息的方法

    通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 https://github.com/GeospatialPython/pyshp#reading-shapefil ...

  2. python文件读写用到的库_Python使用pyshp库读取shapefile信息的方法

    通过pyshp库,可以读写shapefile文件,查询相关信息,github地址为 import shapefile # 使用pyshp库 file = shapefile.reader(" ...

  3. python中pyshp_Python使用pyshp库读取shapefile信息的方法

    通过pyshp库,可以读写Shapefile文件,查询相关信息,github地址为 import shapefile # 使用pyshp库 file = shapefile.Reader(" ...

  4. 小程序个人免费云函数和数据库读取json/txt文件方法

    微信小程序个人免费云函数和数据库读取json/txt文件方法 1. 云开发环境的建立 2. 本地工程的云函数部署 3. 将待读取的数据上传到云端数据库 4. 本地云函数编写 5. 云函数的实际部署 6 ...

  5. Python写入、读取json文件

    可以直接传入文件路径.文件名和字典数据,就可以在对应位置生成json文件.附代码如下: import json# 将字典类型数据写入json文件或读取json文件并转为字典格式输出 class Fil ...

  6. unity 使用UnityWebRequest读取Json文件

    一.Json模板类 [Serializable] public class Settings {[SerializeField]public int Sleep;//等其他属性 } 二.读取 usin ...

  7. go语言读取json文件的方法

    1.读取文件的代码 package mainimport ("encoding/json""fmt""io/ioutil""os& ...

  8. 根据json文件读取json信息

    import json jsonobject = json.load(file('1222508030.json')) cnt = 0 for ele in jsonobject['result']: ...

  9. Windows 下读取DMI信息的方法

    使用Windows自带的函数完成:GetSystemFirmwareTable() #include <Windows.h> #include <stdio.h> #inclu ...

最新文章

  1. 移动网站性能优化(未完。。。)
  2. 卷积神经网络理解及1*1卷积核的作用
  3. 以一致的体验交付和管理云原生多集群应用
  4. [转]C#中多路IP摄像机的视频监控系统
  5. php的数据模型包括,数据库中模型的分类有哪些
  6. python海贼王logo_Python 实现的下载op海贼王网的图片(网络爬虫)
  7. asp.net gridview 无法更新数据
  8. R语言——决策树模型
  9. 优麒麟 mysql_优麒麟18.10新特性预览—生物识别
  10. RNN(3) ------ “blog:RNN学习之路”
  11. Geotools解析shp文件
  12. Java八股文(高阶)背诵版
  13. PS4 Pro 拆机记
  14. DNS服务(二):域名劫持
  15. AcWing 225. 矩阵幂求和
  16. Android开发-WebView中实现Android调用JS JS调用Android 【三】
  17. Cisco(63)——多出口PBR+NAT解决方案
  18. 每秒处理10万订单支付架构
  19. 智慧农业大棚高效节水自动化灌溉系统
  20. 如何将class文件打包成.jar

热门文章

  1. 2021-2027全球与中国协同办公软件市场现状及未来发展趋势
  2. 渲染的艺术:建筑效果图渲染的5个成功要素
  3. 国产化软硬件系统解决方案
  4. 推荐6款非常实用的工具,你用过几款呢?
  5. P1209 [USACO1.3]修理牛棚 Barn Repair
  6. Statement.execute() 返回值
  7. java线程池中断处理_Java线程中断机制
  8. pwscf与wannier90 Hands-On实战训练(一)——费米面计算为例
  9. PDF文件怎么转PPT格式?不会的小伙伴快看过来
  10. GPU-Z的显卡BIOS大全