using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using LitJson;
/*
* Author:W
* Json数据解析
*/
namespace JsonDataManager
{
[System.Serializable]
public class Student
{
/// <summary>
/// 名字
/// </summary>
public string Name { get; set; }
/// <summary>
/// 年龄
/// </summary>
public int Age { get; set; }
}
#region 使用Unity内置Json处理API处理Json数据
/// <summary>
/// 使用Unity内置Json处理API处理Json数据
/// </summary>
public class JsonUnityTest
{
public void Test()
{
Student student = new Student();
student.Name = "W";
student.Age = 12;
//序列化
string jsonStr = JsonUtility.ToJson(student);
//反序列化
Student student2 = JsonUtility.FromJson<Student>(jsonStr);
}
}
#endregion
#region 使用第3方插件来创建解析Json数据
/// <summary>
/// 使用第3方插件来创建解析Json数据
/// </summary>
public class LitJsonTest
{
public void Test()
{
Student student = new Student();
student.Name = "L";
student.Age = 12;
//--------第1种解析方式【需要创建解析类】------------------
//序列化
string jsonStr = JsonMapper.ToJson(student);
//反序列化
Student st = JsonMapper.ToObject<Student>(jsonStr);
//----------第2种解析方式【无需创建解析类】---------------------
//序列化
JsonData stJD = new JsonData();//该数据结构既可以代表{}也可以代表[]
stJD["Name"] = "Q";
stJD["Age"] = 10;
string jsonStr2 = stJD.ToJson();
//反序列化
JsonData jsonData = JsonMapper.ToObject(stJD.ToJson());
string Name = jsonData["Name"].ToString();
int Age = (int)jsonData["Age"];
}
}
#endregion
}
Json数据的序列化与反序列化
最新推荐文章于 2024-08-10 15:17:40 发布