在开发过程中我们经常需要读取一些数据,而有些数据常常被以json的形式给到我们,那么我们必须要做的就是读取json中的数据才能对其加以使用。
本文就简单的来展示一个Unity中读取json的demo。
一、原始数据写入
这一步其实很多时候不用我们做或者说在游戏代码中动态写入了一些数据,由于本文主要是讲读取,所以这部分就简单模拟一下。
首先,我们在桌面新建一个txt文件,写入我们想要的输入,注意格式。
写完之后保存,并将文件扩展名改为"json",应用。然后将这个文件存入我们项目的StreamingAssets文件夹下。
到这里,我们已经完成了原始数据的模拟写入。
二、代码编写
这一步不赘述,直接贴代码:
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ReadTest : MonoBehaviour
{
private TestSetting test = new TestSetting();
//文件路径
string testJsonPath = Application.streamingAssetsPath + "/Test.json";
private void Start()
{
ReadMyJson();
}
//读取方法
private void ReadMyJson()
{
if (File.Exists(testJsonPath))
{
string jsonString = File.ReadAllText(testJsonPath);
TestSetting mytest = JsonUtility.FromJson<TestSetting>(jsonString);
test = mytest;
Debug.Log("id:" + test.id);
Debug.Log("名字:" + test.name);
Debug.Log("性别:" + test.gender);
}
}
}
//数据类型,用来存储从json中读到的键值对
public struct TestSetting
{
public int id;
public string name;
public string gender;
}
脚本写完保存完毕后挂载到场景中的物体上。
这里注意接收数据的类型中各个数据的类型、命名要严格和原始数据键值对中的一一对应。
三、运行,观察结果
点击运行后我们可以在输出日志上看到运行结果:
可以看到,我们输出的结果和原始数据中写入的内容完全一致。