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

article/2025/10/28 1:27:52

在这里插入图片描述

文章目录

  • 🟥 要生成的 Json
  • 🟧 创建 Json 方法
  • 🟨 解析 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);}
}





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


在这里插入图片描述
如果你有 技术的问题 项目开发

都可以加下方联系方式

和我聊一聊你的故事🧡


http://chatgpt.dhexx.cn/article/GIG5T8TO.shtml

相关文章

Jackson API指南(*)

一.Jackson 概述 与 依赖 1.市面上用于在 Java 中解析 Json 的第三方库&#xff0c;随便一搜不下几十种&#xff0c;其中的佼佼者有 Google 的 Gson&#xff0c; Alibaba 的 Fastjson以及本文的 jackson。 2.我们在学习一门技术之前&#xff0c;首选要了解这门技术的优劣性&am…

Jackson 工具类使用及配置指南

目录 前言Jackson使用工具类Jackson配置属性Jackson解析JSON数据Jackson序列化Java对象 前言 Json数据格式这两年发展的很快&#xff0c;其声称相对XML格式有很对好处&#xff1a; 容易阅读&#xff1b;解析速度快&#xff1b;占用空间更少。 不过&#xff0c;JSON 和 XML…

docker 命令(2) 容器数据持久化

1. docker ps 查看所有运行状态的容器. 2.docker ps -a 查看全部状态的容器列表。 3. docker rmi image名字 删除一个镜像。 4.容器持久化&#xff1a; 这样的话容器即使删了 但是数据依然在 主机的目录未指定的话 默认就会给你建一个 docker run --name mysql_pro -p 330…

jprofiler 连接 docker中的jvm

jprofiler 官网&#xff1a; Java Profiler - JProfiler 1: docker-compose 指定端口&#xff0c; docker 为 -p 指定端口 2&#xff1a;官网下载 liunx版本及windows版本&#xff1a; 我用的是12.0.4 windows本地 win10安装 liunx 版本 上传是liun服务器 3&#xff1a; 在…

Java中Jackson库操作json的基本操作

这段工作中总会遇到使用Java处理JSON的情况&#xff0c;大部分都使用的是开源工具Jackson实现的。因此总结一下发上来&#xff0c;希望对看到的人有所帮助。 上一篇文档中&#xff0c;我已经讲过Java如何使用Jackson来对Json进行序列化&#xff0c;这边我再稍微回顾一下。 Ja…

java操作k8s api示例:通过java完成对kubenetes原生资源对象(pod、node、namespace、servcie、deployment)和自定义资源对象CRD的增删改查或事件监听

本文目标 基于官方kubernetes-client/java类库&#xff0c;实现通过java完成对kubenetes原生资源对象&#xff08;pod、node、namespace、servcie、deployment&#xff09;和自定义资源对象&#xff08;如&#xff1a;cluster&#xff09;的增删改查或事件监听&#xff08;wat…

Jackson注解 @JsonCreator

当json在反序列化时&#xff0c;默认选择类的无参构造函数创建类对象&#xff0c;当没有无参构造函数时会报错&#xff0c;JsonCreator作用就是指定反序列化时用的无参构造函数。构造方法的参数前面需要加上JsonProperty,否则会报错。 JsonCreatorpublic Person(JsonProperty(&…

Spring中读取本地json文件,并交给Spring容器管理

我们经常在项目开发中遇到项目数据初始化的问题&#xff0c;例如一些超管&#xff0c;管理员账号&#xff1b;或者地图包&#xff0c;电话号码包&#xff0c;之类的东西。放到到一个json文件里面&#xff08;大的数据字典包可以放到搜索引擎里面&#xff0c;改情况本文不做讨论…

导入jackson-databind依赖后tomcat报错Cannot resolve com.fasterxml.jackson.core:jackson-databind

1》解决步骤&#xff1a; 项目启动前先打开tomcat里面的conf里面的catalina.properties文件夹 如&#xff1a;apache-tomcat-8.5.83\conf\catalina.properties 后面在里面找到如下&#xff1a;红线处 往下找到如下&#xff1a; 将上面的 红波浪线内容添加到后面&#xff1a…

通过Kettle工具解析Json接口数据并且保存到数据库中的详细操作

最近接到一个业务需求&#xff0c;要把一个Json接口数据获取下来并且保存到数据库中&#xff0c;考虑到应用代码实现功能需要耗费一定时间和精力&#xff0c;一旦需要修改&#xff0c;就得重启项目等。于是就选择利用Kettle工具来实现这个业务功能&#xff0c;将其从项目源码中…

树莓派安装wiringpi显示不存在解决方法

环境&#xff1a;树莓派4B 使用sudo apt-get install wiringpi 指令安装wiringpi包时&#xff0c;出现下面的提示&#xff1a; Reading package lists... Done Building dependency tree... Done Reading state information... Done Package wiringpi is not available, but …

[ARM+Linux] 基于wiringPi库的串口通信

wiringOP-master/examples/serialTest.c中&#xff0c;wiringPi库中自带的串口程序&#xff1a; #include <stdio.h> #include <string.h> #include <errno.h>#include <wiringPi.h> #include <wiringSerial.h>int main () {int fd ;int count …

树莓派 Raspberry Pi —— wiringPi库安装

树莓派的GPIO可以像单片机&#xff08;51单片机&#xff0c;Arduino&#xff0c;STM32等&#xff09;一样进行IO控制&#xff08;输出高、低电平&#xff0c;IIC&#xff0c;SPI&#xff0c;串口通信&#xff0c;PWM输出等&#xff09;&#xff0c;在此使用常用的WiringPi库来进…

树莓派 wiringPi 库

wiringPi是一个很棒的树莓派IO控制库&#xff0c;使用C语言开发&#xff0c;提供了丰富的接口&#xff1a;GPIO控制&#xff0c;中断&#xff0c;多线程&#xff0c;等等 检查树莓派是否已安装 wiringPi&#xff0c;在树莓派终端输入&#xff1a; gpio -v // 会在终端中输出…

树莓派安装wiringPi

在学习微雪的2-CH CAN FD HAT时&#xff0c;根据官网步骤在树莓派安装wiringPi sudo apt-get install wiringpi #对于树莓派4B可能需要进行升级&#xff1a; wget https://project-downloads.drogon.net/wiringpi-latest.deb&#xff08;此链接安装可能出错&#xff0c;如果出…

解决wiringPi库与64位树莓派之间不兼容的问题

目录 一.问题现象&#xff1a; 二.解决方案&#xff08;网站&#xff09;可以直接点这下载 一.问题现象&#xff1a; 今天在练习wiringPi库的使用时候&#xff0c;在最后编译的时候出现了这个问题 主要问题是这个skipping incompatible&#xff01; skipping incompatible. …

树莓派安装WiringPi以及找不到wiringPi.h文件解决方法(图文教程)

目录 安装WiringPi 失败的过程&#xff1a; 选择的方法&#xff1a; 安装步骤&#xff1a; 找不到wiringPi.h文件解决方法 失败过程&#xff1a; 解决方法&#xff1a; 安装WiringPi 失败的过程&#xff1a; 通过分别使用sudo apt-get install wiringPi 和 wget https…

树莓派的wiringPi库

一、wiringPi库 树莓派的外设开发都是基于wiringPi库&#xff0c;wiringPi是树莓派IO控制库&#xff0c;使用C语言开发&#xff0c;提供了丰富的接口&#xff1a;GPIO控制&#xff0c;中断&#xff0c;多线程&#xff0c;等等。 wiringPi库的安装 进入 wiringPi的github (htt…

玩转树莓派三、树莓派安装GPIO库接口wiringpi

WiringPi简介 WiringPi 是由 Gordon Henderson 使用 C 语言编写的一个基于 PIN接口的 GPIO 控制函数库&#xff0c;适用于所有Raspberry Pi 中使用的 BCM2835、BCM2836 和 BCM2837 SoC 设备&#xff0c;使用过 Arduino 控制板的开发人员应该会对此非常熟悉。 wiringPi 包括一…

树莓派学习笔记——wiringPi I2C设备使用详解

1.前言 最近认真学习了树莓派&#xff0c;从浅到深认真分析了wiringPi实现代码&#xff0c;借助树莓派学习linux收获颇丰。深入学习linux一段时间后发现它非常有魅力&#xff0c;一个简单的IO口输出操作尽有那么多的“玩法”。wiringPi是一个简单易用的函数库&#xff0c;通过w…