Unity使用NewtonSoft.Json序列化与反序列化

Unity使用NewtonSoft.Json序列化与反序列化

1、将NewtonSoft.Json.dll导入unity
2、新建cs文件,内容如脚本
3、绑定脚本
4、运行

Unity使用NewtonSoft.Json序列化与反序列化_第1张图片

Unity使用NewtonSoft.Json序列化与反序列化_第2张图片
Unity使用NewtonSoft.Json序列化与反序列化_第3张图片
Unity使用NewtonSoft.Json序列化与反序列化_第4张图片
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190416170912679.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMDE5MDYUnity使用NewtonSoft.Json序列化与反序列化_第5张图片
AnalysisJson.cs

using System.Collections;
using System.Collections.Genericusing UnityEngine;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System;
using Newtonsoft.Json.Serialization;

public class AnalysisJson : MonoBehaviour
{
//解析Json
public static List GetData(string str) where T : class
{
List t = JsonConvert.DeserializeObject(str);
return t;
}

//定义类
public class Person
{
    private string name;
    public string Name
    {
        get { return name; }
        set { name = value; }
    }
    private string age;
    public string Age
    {
        get { return age; }
        set { age = value; }
    }
}

List personli = new List();
string SerializeJsonStr = string.Empty;

//序列化Json
public void SerializeJson()
{
    for(int i = 0;i<10;i++)
    {
        Person person = new Person();
        person.Name = "golden_"+i;
        person.Age = (25+i).ToString();
        personli.Add(person);
    }
    SerializeJsonStr = JsonConvert.SerializeObject(personli);
    print(SerializeJsonStr);
}

//获取json数据
public void DeserializeJson()
{
    List personde = GetData(SerializeJsonStr);
    if(personde!=null)
    {
        foreach (var item in personde)
        {
            print(item.Name + " -- > " + item.Age);
        }
    }
}

}

你可能感兴趣的:(笔记)