Json丨使用 JsonUtility 创建并解析 Json

Posted 橙子SKODE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json丨使用 JsonUtility 创建并解析 Json相关的知识,希望对你有一定的参考价值。

哈喽大家好,你的橙哥突然出现~

本系列博客地址:传送门



在我们项目中,可能经常用到解析 Json,

但有时也需要存档的工作。那该怎样生成Json呢?




下面我们就以上节 Json 例子为例,来讲解如何代码生成 Json


一、要生成的 Json

本节,我们会来生成这样一个Json字符串:

[“name”:“小明”,“Age”:12,“班级”:“一班”,“name”:“小红”,“Age”:13,“Kungfu”:“三班”]

它跟下面的Json是一样的,只是格式不同。

[
    
        "name":"小明",
        "age":12,
        "grade":"一班"
    ,
    
        "name":"小红",
        "age":13,
        "grade":"三班"
    
]



二、创建 Json 方法

按照如下方式,我们便可以生成上面的 Json

using System;
using UnityEngine;

[Serializable]
public class Person

    public string name;
    public string age;
    public string grade;


[Serializable]
public class Persons

    public Person[] person;


public class NewBehaviourScript : MonoBehaviour

    private void Start()
    
        Person person0=new Person();
        person0.name = "小明";
        person0.age = "12";
        person0.grade = "一班";
        
        Person person1=new Person();
        person1.name = "小红";
        person1.age = "13";
        person1.grade = "三班";
        
        Persons persons=new Persons();
        persons.person = new[] person0, person1;

        string jsonValue = JsonUtility.ToJson(persons);
        Debug.Log(jsonValue);
    






三、解析 Json 方法

解析的类跟Json是有对应关系的。若大家忘了解析的类是怎样写出来的,

参阅博客:传送门

using System;
using UnityEngine;

[Serializable]
public class Person

    public string name;
    public string age;
    public string grade;


[Serializable]
public class Persons

    public Person[] person;


public class NewBehaviourScript : MonoBehaviour

    private void Start()
    
        //这是我们的Json,可以用上方类进行解析。
        //["name":"小明","Age":12,"班级":"一班","name":"小红","Age":13,"Kungfu":"三班"]
        // 因为是在C#代码中,“要替换成’
        string jsonValue="[‘name‘:‘小明‘,‘Age‘:12,‘班级‘:‘一班‘,‘name‘:‘小红‘,‘Age‘:13,‘Kungfu‘:‘三班‘]";

        Persons persons = JsonUtility.FromJson<Persons>(jsonValue);
        Debug.Log(persons.person[1].name);
    




好啦,这就是本章所有内容,

后续我会出关于Unity存档系统商业化的教程,欢迎关注!





如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡

以上是关于Json丨使用 JsonUtility 创建并解析 Json的主要内容,如果未能解决你的问题,请参考以下文章

Json丨使用 JsonUtility 创建并解析 Json

unity解析json 数据

unity解析json 数据

unity解析json 数据

Unity学习笔记Unity使用JsonUtility解析Json(附注意事项)

Unity使用JSONObject解析Json