首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Json☀️ 二、使用 JsonUtility 创建并解析 Json

Json☀️ 二、使用 JsonUtility 创建并解析 Json

作者头像
星河造梦坊官方
发布2024-08-15 20:22:08
发布2024-08-15 20:22:08
52000
代码可运行
举报
运行总次数:0
代码可运行

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

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

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

🟥 要生成的 Json

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

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

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

代码语言:javascript
代码运行次数:0
运行
复制
[
    {
        "name":"小明",
        "age":12,
        "grade":"一班"
    },
    {
        "name":"小红",
        "age":13,
        "grade":"三班"
    }
]

🟧 创建 Json 方法

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

代码语言:javascript
代码运行次数:0
运行
复制
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是有对应关系的。若大家忘了解析的类是怎样写出来的,

参阅博客:传送门

代码语言:javascript
代码运行次数:0
运行
复制
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);
    }
}

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 要生成的 Json
  • 🟧 创建 Json 方法
  • 🟨 解析 Json 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档