Json解析流程
一、拿到了题库
分析一下可以定义的
1、序号,用来区分题目数,每个题有唯一的序号
2、题目,就是下图的Q
3、预设的回答,下图的A

分析完我可以知道有三个字段,分别是int index、string Q、string A。
二、把字段丢到Excel表格里
第一行写字段,下面再写数据

三、通过一些工具把Excel转化成Json文件
可以看到生成的Json文件是这样的

看着稍微有点乱,可以用格式化工具调整一下
这是我常用的格式化工具
在线JSON校验格式化工具(Be JSON)

这样就可以清晰分辨我们的题目和预设回答了,一些小调整也可以直接在这里处理
四、改Json文件
新建一个txt文本,把刚刚生成的数据全部粘贴进文本里,并把后缀改成.json
这样就是一个合格的Json文件了

五、生成C#类
还是刚刚那个网站,找到Json转C#实体类,把你的Json文件丢进去他就能帮你生成一个C#类

在Unity里新建一个QAData类,复制这些生成的这些就好了(生成的一般都是Root,改成自己的类)。

六、Json解析
using Newtonsoft.Json;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Networking;public class Test : MonoBehaviour
{void Start(){StartCoroutine(LoadJson(Application.streamingAssetsPath + "/QA.json",JsonHandle));}/// <summary>/// 处理Json数据/// </summary>void JsonHandle(string jsonData) {Debug.Log(jsonData);QAData qAData = JsonConvert.DeserializeObject<QAData>(jsonData);Debug.Log(" 共有" + qAData.QA.Count + "题");foreach (var item in qAData.QA){Debug.Log(item.index); Debug.Log(item.Q); Debug.Log(item.A);}}/// <summary>/// 读取Json数据/// </summary>/// <param name="path"></param>/// <param name="action"></param>/// <returns></returns>IEnumerator LoadJson(string path,UnityAction<string> action = null){// 提取Json文件UnityWebRequest www = UnityWebRequest.Get(path);yield return www.SendWebRequest();if (www.result == UnityWebRequest.Result.Success){string jsonString = www.downloadHandler.text;action?.Invoke(jsonString);}else{Debug.Log("读取失败");}}
}
这样就全部拆出来了,答题系统也是一样的思路。

这样做的好处是,当需要外部去修改题库时也无需重新打包,直接改Json文件就好了
相关文章:
Json解析流程
一、拿到了题库 分析一下可以定义的 1、序号,用来区分题目数,每个题有唯一的序号 2、题目,就是下图的Q 3、预设的回答,下图的A 分析完我可以知道有三个字段,分别是int index、string Q、string A。 二、把字段丢到…...
Mybatis 动态SQL – 使用choose标签动态生成条件语句
之前我们介绍了if,where标签的使用;本篇我们需要在if,where标签的基础上介绍如何使用Mybatis提供的choose标签动态生成条件语句。 如果您对if,where标签动态生成条件语句不太了解,建议您先进行了解后再阅读本篇,可以参考: Mybat…...
http接口自动化测试框架实现
目录 一、测试需求描述 二、实现方法 三、Excel表格样式 四、实现代码(代码才是王道,有注释很容易就能看明白的) 一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值 输出&…...
Android逆向学习(三)vscode修改smali绕过vip
Android逆向学习(三)vscode修改smali绕过vip 写在前面 这是吾爱的第二个作业,主要就是要修改smali代码,其实smali代码我感觉没有必要去学,当然主要是我本来就会汇编语言,基本上汇编语言都是一样的&#x…...
代码随想录训练营第38天|62.不同路径,63.不同路径II
代码随想录训练营第38天|62.不同路径,63.不同路径II 62.不同路径文章思路代码 63.不同路径II文章思路代码 总结 62.不同路径 文章 代码随想录|0062.不同路径 思路 d p [ i ] [ j ] { 1 , i 0 ∧ j 0 d p [ i − 1 ] [ j ] d p [ i ] [ j − 1 ] , e l s e \b…...
BlueStore BlueFS rocksdb 关联性梳理
Tag: ceph 12.2.4 BlueStore空间初始化 BlueStore磁盘空间管理 总述 OSD挂载目录基于文件系统管理,Slow、WAL、DB空间区域基于裸盘管理;Slow区域:此类空间主要用于存储对象数据,由BlueStore管理,其中分配于BlueFS空…...
PgSQL-并行查询系列-介绍[译]
PgSQL-并行查询系列-介绍 现代CPU模型拥有大量的CPU核心。多年来,数据库应用程序都是并发向数据库发送查询的。查询处理多个表的行时,若可以使用多核,则可以客观地提升性能。PgSQL 9.6引入了并行查询的新特性,开启并行查询后可以大…...
Linux以系统服务的方式启动Kafka(其他服务同理)
最终效果: 先回顾命令行的启动方式: kafka的启动 进入kafka的安装目录 1、首先启动zookeeper服务: bin/zookeeper-server-start.sh config/zookeeper.properties2、再启动kafka bin/kafka-server-start.sh config/server.properties &…...
成都瀚网科技有限公司:抖店的评论会消失吗?
抖店是抖音推出的电子商务平台。很多用户在购物后都会对产品进行评价。但有时用户可能会发现抖店评论缺失,让用户产生一些疑惑和困惑。本文将围绕这个问题提供一些答案和解决方案。 1.为什么抖店评论不见了? 首先需要明确的是,抖店评论消失可…...
优先级队列priority_queue以及仿函数的使用
目录 优先级队列priority_queuepriority_queue的模拟实现仿函数 优先级队列priority_queue 优先级队列priority_queue是一种容器适配器,根据严格的弱排序标准,它默认第一个元素总是它所包含的元素中最大的 优先级队列默认使用vector作为底层存储数据的…...
java+ssm+mysql水费管理系统
项目介绍: 使用javassmmysql开发的用户水费管理系统,系统包含超级管理员,系统管理员、用户角色,功能如下: 超级管理员:管理员管理、用户管理、用水管理(用水记录、缴费提醒)、水费…...
搭建最简单的SpringBoot项目
1、创建maven项目 2、引入父pom <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.15</version> </parent> 3、引入springboot-web依赖 <dependency…...
Windows系统手动重新生成性能计数器
症状 使用性能监视器工具时,某些计数器可能缺失或不包含计数器数据。 性能计数器库可能已损坏,需要重新生成。 应用程序日志中可能会出现以下错误: Log Name: Application Source: Microsoft-Windows-IIS-W3SVC-PerfCounters Event ID…...
go elsaticsearch demo
安装 // elasticsearch sdk go get -u github.com/elastic/go-elasticsearch/v7 //操作json go get "github.com/tidwall/gjson" go get "github.com/aquasecurity/esquery"demo package esexampleimport ("bytes""context""en…...
小游戏分发平台如何以技术拓流?
2023年,小游戏的发展将受到多方面的影响,例如新技术的引入、参与小游戏的新玩家以及游戏市场的激烈竞争等。首先,新技术如虚拟现实(VR)、增强现实(AR)和机器人技术都可以带来新颖的游戏体验。其…...
力扣|找出和所对应的两数的下标
从零开始刷力扣(bushi 题目放在这: 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出和为目标值target的两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一…...
使用命令行创建仓库
如果你还没有任何代码,可以通过命令行工具创建一个全新的Git仓库并初始化到本项目仓库中。 git clone https://e.coding.net/***/neurosens.git cd neurosens echo "# neurosens" >> README.md git add README.md git commit -m "first commi…...
ESLint 中的“ space-before-function-paren ”相关报错及其解决方案
ESLint 中的“ space-before-function-paren ”相关报错及其解决方案 出现的问题及其报错: 在 VScode 中,在使用带有 ESLint 工具的项目中,保存会发现报错,并且修改好代码格式后,保存会发现代码格式依然出现问题&…...
docker常用中间件安装
文章目录 1、前言2、中间件安装2.1、mysql2.2、gitlab容器2.3、nacos2.4、redis2.5、xxljob2.6、zipkin2.7、sentinel2.8、seata2.8.1、获取镜像2.8.2、运行容器并获取配置 2.9、rockerMQ2.9.1、rockerMQ-namesrv2.9.2、rockerMQ-broker2.9.3、rockerMQ-console 2.10、jenkins2…...
Camunda 7.x 系列【44】修改流程实例
有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 2.7.9 本系列Camunda 版本 7.19.0 源码地址:https://gitee.com/pearl-organization/camunda-study-demo 文章目录 1. 概述2. 案例演示2.1 回退2.2 子流程2.3 多实例加签1. 概述 流程模型中,执行活动需要按…...
对比直接使用厂商API体验Taotoken聚合调用在延迟上的优化感受
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 对比直接使用厂商API体验Taotoken聚合调用在延迟上的优化感受 作为一名长期直接调用单一模型API的开发者,我的日常工作…...
为什么92%的开发者查不到真正“实时”新闻?Perplexity底层时间戳校验机制首度公开
更多请点击: https://intelliparadigm.com 第一章:为什么92%的开发者查不到真正“实时”新闻?Perplexity底层时间戳校验机制首度公开 当开发者在凌晨三点搜索“React 19 正式发布”,返回结果却显示“发布时间:2024-03…...
5个步骤掌握微信聊天记录永久保存:WeChatMsg完全掌控指南
5个步骤掌握微信聊天记录永久保存:WeChatMsg完全掌控指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/We…...
如何扛住十万级流量洪峰?扒开高并发架构的五层防御体系
在互联网的残酷战场上,流量既是黄金,也是洪水。试想这样一个场景:你们公司花重金请了一位顶流代言人,晚上 8 点准时开启一场“一元秒杀”活动。时间一到,原本平时只有几百 QPS(每秒请求数)的系统…...
Hi3403开发板内核升级至Linux 6.6:驱动适配与稳定性调优实战
1. 项目概述:一次内核升级背后的工程实践最近,我们团队完成了对迅为iTOP-Hi3403开发板配套SDK的一次重要更新,将内核版本从之前的长期支持版(LTS)升级到了最新的Linux 6.6。这不仅仅是一个版本号的跳动,对于…...
OpenClaw 2.7.5 Windows 一键部署教程|零配置开箱即用
前言 本地 AI 智能体技术持续迭代,私有化部署、数据安全可控、低门槛快速落地,已成为用户选型的核心考量。开源轻量化 AI 智能体 OpenClaw 2.7.5 版本完成全面优化升级,在环境适配性、服务稳定性与模型集成能力上均有显著提升,原…...
告别手写UI!用VSCode+QtDesigner+PyQt5,5分钟搞定你的第一个Python图形界面
5分钟极速构建Python GUI:VSCodeQtDesignerPyQt5全流程实战 每次看到同事用代码逐行构建UI界面时,总忍不住想起自己初学时的痛苦经历——调整一个按钮位置要反复运行程序,修改边距像素值就像在玩"猜数字"游戏。直到发现QtDesigner这…...
别再傻傻分不清了!Lua中load和loadstring到底怎么用?一个例子讲透
深入解析Lua中的动态代码加载:load与loadstring的实战指南 在Lua开发中,动态代码加载是一个强大但容易引发困惑的功能。许多开发者在不同环境下使用load和loadstring时,经常会遇到各种报错信息,比如"bad argument #1 to load…...
H5GG完整指南:如何用JavaScript和HTML5轻松修改iOS游戏内存
H5GG完整指南:如何用JavaScript和HTML5轻松修改iOS游戏内存 【免费下载链接】H5GG an iOS Mod Engine with JavaScript APIs & Html5 UI 项目地址: https://gitcode.com/gh_mirrors/h5/H5GG 你是否曾经想过修改iOS游戏中的数值,却因为复杂的越…...
快速 AI 迭代仍然需要操作纪律
前言 配套资源:AI 辅助开发检查清单资源包,适合把本文的流程直接落成开发前检查表和复盘模板。 上一篇文章里,我把 AI 工作流拆成了几类任务模式:开发维护、探索学习、反馈确认。这个分类解决的是一个前置问题:在使用 …...
