Unity中使用JsonUtility解析Json

Unity使用JsonUtility、ListJson、Newtonsoft解析JSON数据附带每种方式所踩过的坑! Unity解析JSON的几种方式使用JsonUtility(Unity自带)解析数据使用ListJson解析JSON数据使用Newtonsoft解析数据 使用JsonUtility(Unity自带)解析数据 json实体类 [Serializable] //序列化 public class Root { /// <summary> /// 是否还有下一页,返回值:true、false;如果不分页,不用关注该字段 /// </summary> p 阅读详情

首先,写好Json文件,语法可以参考这里
http://www.runoob.com/json/json-tutorial.html

举例:


记得另存为保存为UTF-8格式(否则中文数据会乱码)

 

模型类:

using System.Collections.Generic;
using System.IO;
using System;

[Serializable]
public class MainJson
{
    public string ResourcePath;
    public int ProjectNumber;
    public string PictureFormat;
    public List<CategoriesGroup> Categories;
}

[Serializable]
public class CategoriesGroup
{
    public string name;
    public string intro;
}

注意json字符串里的名字与C#里需要保持一致

 

加载Json文件:

    public static MainJson LoadJsonFromFile()
    {
        //json文件存放地址
        if (!File.Exists(Application.dataPath + "/StreamingAssets/ListInit.json"))
        {
            return null;
        }

        StreamReader sr = new StreamReader(Application.dataPath + "/StreamingAssets/ListInit.json");

        //反序列化
        if (sr == null)
        {
            return null;
        }
        string json = sr.ReadToEnd();

        if (json.Length > 0)
        {
            return JsonUtility.FromJson<MainJson>(json);
        }

        return null;
    }

放在StreamingAsssets文件夹中可以方便导出工程后还能修改Json文件

 

根据自己需求获取json数据:

    private MainJson status;
    private int maxNumber;
    private string resourcePath;
    private string intros;
    private string pictureFormat;

    private void Awake()
    {
        GetJson();
    }

    public void GetJson() 
    {
        status = MainGrid.LoadJsonFromFile();
        //获取json中的数据
        maxNumber = status.ProjectNumber;
        Debug.Log(maxNumber);
        resourcePath = status.ResourcePath;
        Debug.Log(resourcePath);
        pictureFormat = status.PictureFormat;
        Debug.Log(pictureFormat);
        Debug.Log(status.Categories[2].name);
    }

 

 

 

unity使用自带的JsonUtility解析在网页上的json文件 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour { string url = "自己放在网页上的json文件地址"; void Start() { ... 阅读详情

相关推荐

Unity JSON解析全攻略:JsonUtility、Newtonsoft.Json与ListJson实战详解

JSON作为一种轻量级的数据交换格式,在软件开发中扮演着关键角色,它通过文本结构实现跨平台数据传递。其核心原理是基于键值对和数组结构,实现数据的序列化与反序列化。在Unity游戏开发中,JSON解析的技术价值尤为突出,它直接关系到游戏数据存储、网络通信和配置管理的效率与稳定性。面对玩家数据同步、本地配置读取等常见应用场景,开发者需要根据项目需求选择合适的解析方案。本文聚焦Unity生态,深入对比分析内置的JsonUtility、功能强大的Newtonsoft.Json以及社区衍生的ListJson模式这三种

weixin_30764771的博客 351

Unity内置JsonUtility.FromJson解析List

注意: JsonUtility.FromJson 方法只能接受 json 对象,如果是 json 数组会提示错误 JSON must represent an object type 被转换的对象必须是可被序列化的,需要标记[System.Serializable] 属性 写数据类 public class VideoData { public List<JsonVideoData> datas; } [Serializable...

yhx956058885的博客 1万+

Unity JSON解析库选型指南:JsonUtility、LitJson与Newtonsoft.Json性能场景全解析

JSON作为数据交换的通用格式,其序列化与反序列化是软件开发中的基础操作。其核心原理是将数据结构或对象状态转换为可存储或传输的字符串格式,反之亦然。这项技术的价值在于实现了跨平台、跨语言的数据互通,是网络通信、配置管理和数据持久化的基石。在Unity游戏开发领域,高效、稳定的JSON处理能力直接影响着游戏性能,尤其是在移动端和WebGL平台,频繁的数据解析可能引发GC(垃圾回收)压力与卡顿。因此,针对不同的项目规模与性能要求,选择合适的JSON库至关重要。本文聚焦于Unity开发中三种主流方案:原生轻量的J

weixin_33724659的博客 551

Unity--使用JsonUtility读取Json文件

JsonUtility.FromJson(File.ReadAllText(Json文件地址))JsonUtility.ToJson(TJ)将修改后的Josn数据转为字符串。使用 JsonUtility API读取Json文件。JsonPath Json路径。JsonUtility读取Josn文件。

qq_36361484的博客 1777

【Unity数据交互】JsonUtility的“爱恨情仇“

JsonUtlity进行序列化

秩沅 1046

Unity 数据存储☀️ |(四)Json文件解析(Newtonsoft.Json ,Litjson,JsonUtility,SimpleJSON)

JSON文件是一种纯文本文件,用于存储数据,并且是基于JavaScript的一个子集。JSON文件通常用于存储和传输数据,以及在应用程序之间交换信息。它们以键值对的形式存储数据,其中键是字符串,值可以是字符串、数字、布尔值、数组、对象或null。 JSON文件通常具有.json扩展名,例如example.json。在JSON文件中,数据以层次结构的形式组织,可以表示嵌套的对象和数组。JSON文件通常用于存储配置信息、数据交换和持久化存储。 可以在https://www.json.o

m0_58523831的博客 1万+

关于JsonUtility.FromJson使用的一些坑

JsonUtility.FromJson是Unity官方的用来解析json文件的API 但是这个东西只能解析简单的json…下面就关于我个人遇到的坑进行一些总结: 1.只能解析单个对象,不能解析多个对象(即对象是数组) 这种json它就不能解析,必须套个壳子,让其变成一个元素 这样就能解析了。 2.json的保存必须是utf-8且无签名的,不然就会报错:ArgumentException: JSON parse error: Invalid value. ...

weixin_42758300的博客 5253

unity 通过JsonUtility实现json数据的本地保存和读取-附件资源

unity 通过JsonUtility实现json数据的本地保存和读取-附件资源

【Unity数据持久化_Json】(三)C#读取存储Json文件-Jsonutility是什么?Jsonutility序列化和反序列化

1.Jsonutility是什么? 2.补充:在文件中存读字符串 3.使用Jsonutility进行序列化 4.使用Jsonutility进行反序列化 5.注意事项

我的博客 2462

Android 关于佳博和汉印蓝牙热敏打印机开发,Android程序员必经的实践之路

针对于上面的问题,我总结出了互联网公司Android程序员面试涉及到的绝大部分面试题及答案,并整理做成了文档,以及系统的进阶学习视频资料。(包括Java在Android开发中应用、APP框架知识体系、高级UI、全方位性能调优,NDK开发,音视频技术,人工智能技术,跨平台技术等技术资料),希望能帮助到你面试前的复习,且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_84149570的博客 1022

WinCC ActiveX控件“许可证缺失”故障排查:从注册表修复到系统兼容性全解析

本文深入解析WinCC ActiveX控件报错“未找到许可证信息”的根本原因与解决方案。核心在于系统注册表中控件的设计时许可证密钥丢失或损坏。文章提供了从手动修复注册表、排查64位系统兼容性,到预防性环境部署的全流程专业指南,帮助工程师彻底解决这一常见故障。

oil88的博客 646

Unity | 使用JsonUtility解析Json

一、使用注意事项: 被转换的对象必须是可被序列化的,需要标记[System.Serializable] 属性; JsonUtility.FromJson 方法只能接受 json 对象,如果是 json 数组会提示错误: JSON must represent an object type。 二、要解析的Json数据: { "stat": 1, "status": 1, "msg":...

该用户还没想到好的昵称的博客 2783

uniapp监听扫码枪键盘事件|无输入框式监听

一般的扫码枪通过USB或蓝牙连接手机或电脑,充当的是一个外接设备。当扫码后,扫码枪会自动识别内容,然后向连接的电脑或手机发送键盘事件keydown或keyup。

tcy9099的专栏 9750

Unity之Json解析Litjson和自带JsonUtility解析区别

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/hemiaoyuan1989/article/details/92635721 首先先写几个测试类: public class Person { public string name; public string address; publ...

qq_39908137的博客 1508

设置Solidworks导出文件的坐标系,stl坐标系平移

使用solidworks输出的模型坐标不再原点,怎么平行坐标系,这个方法很简单

weixin_45650767的博客 1万+

Cadence DSP 算子开发实战:从入门到精通

本文详细介绍了Cadence DSP算子开发的实战技巧,从入门基础到高级优化。内容涵盖DSP架构特性、内存管理、分块计算策略、SIMD指令优化等核心知识,并提供了性能调优和调试的实用技巧,帮助开发者快速掌握Cadence DSP开发精髓,提升图像处理等计算密集型任务的开发效率。

weixin_29278805的博客 435

Unity JSON解析工具全解析:JsonUtility、Newtonsoft.Json与System.Text.Json实战对比

JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,已成为现代软件开发中数据传输与存储的通用标准。其基于文本、易于读写和解析的特性,使其在配置管理、网络通信和持久化存储等场景中广泛应用。在Unity游戏开发中,高效处理JSON数据是提升开发效率和运行性能的关键环节。开发者常面临在简单性、功能丰富性和性能之间权衡的挑战。本文聚焦于Unity环境下三大主流JSON解析方案:Unity原生的JsonUtility以其极致的速度和与引擎的无缝集成,适合处理简单数据结构和性能

weixin_34021089的博客 531

基于大模型的脑疝全流程预测与诊疗方案研究

目录一、引言1.1 研究背景与目的1.2 研究意义1.3 大模型技术概述二、脑疝概述2.1 定义与分类2.2 发病机制与病因2.3 临床表现2.4 诊断方法三、大模型在脑疝预测中的应用3.1 数据采集与预处理3.2 模型训练与选择3.3 模型验证与优化四、术前预测与评估4.1 病情严重程度预测4.2 手术风险预测4.3 个性化手术方案制定4.4 麻醉方案制定五、术中监测与决策5.1 实时监测指标5.2 大模型辅助决策5.3 应对突发情况六、术后评估与护理6.1 术后恢复情况评估6.2 并发症风险预测与预防6

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1285

【亲测免费】 Unity中使用JsonUtility、ListJson、Newtonsoft解析JSON数据的详细指南及常见问题解决

Unity中使用JsonUtility、ListJson、Newtonsoft解析JSON数据的详细指南及常见问题解决 去发现同类优质开源项目:https://gitcode.com/ 本文将详细介绍在Unity中使用JsonUtility、ListJson、Newtonsoft三种方式解析JSON数据的方法,并附带每种方式所遇到的常见问题及解决方案。通过本文,您将能够更好地理解和掌握在Unity...

gitblog_06548的博客 2181

分布式推理服务(策略:数据并行、张量并行、流水线并行、专家并行)技术分析

摘要:分布式推理突破单GPU内存和算力限制,支持大模型部署。四种核心策略包括: 数据并行:复制模型拆分数据,提升吞吐但内存效率低; 流水线并行:模型分阶段执行,支持超大模型但存在计算气泡; 张量并行:拆分层内矩阵运算,延迟低但通信开销大; 专家并行:动态激活MoE模型专家,计算高效但路由复杂。实际应用中常组合策略(如3D并行),需权衡模型规模、硬件条件与性能目标。

技术引领业务创新 944

【C#程序员入门AI】向量数据库入门:C#集成Chroma/Pinecone,实现AI知识库检索(RAG基础)

向量存语义,检索补知识!向量数据库:解决AI知识库存储和语义检索问题,让AI有据可查C#集成:Chroma轻量本地练手,Pinecone企业云端落地,一套逻辑无缝切换RAG闭环:检索+大模型,让AI回答精准不瞎编,是AI落地的必经之路咱C#程序员有.NET生态加持,集成向量数据库比Python更简洁、更稳定,不管是个人做智能助手,还是企业做知识库,这套技术栈都能直接落地,2026年必学技能!

人工智能AI技术 1003

Unity自带Json解析库——JsonUtility

一:介绍 JsonUtility是Unity自带的一个类,很简单,效率高,不依赖第三方的库,但是对于一些复杂的要求还是需要导入第三方库去实现。 二:用法与弊端: 之所以不常用Unity自带的类去实现Json操作是因为它存在很多的弊端:1.JsonUtility.FromJson方法只能接受json对象,不能接受Json数组 //Json文件中:定义一个两个对象的数组 [ { "name"...

L的博客 7751

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

Json实体类 using System.Collections; using System.Collections.Generic; using UnityEngine; [System.Serializable] public class StudentData { public string StudentName; public string StudentGender; public string StudentAge; } using System; using

qq_37704442的博客 4646

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Unity内置的JsonUtility解析Json文本

1、Json文本需要是List类型的,定义的枚举类型的字段必须和Json文本中的一致 { "infoList": [ { "panelTypeString": "Task", "path": "UIPanel/TaskPanel" }, { "panelTypeString": "Knapsack", "path"...

不二 1372

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Unity 数据读取|(四)Json文件解析(Newtonsoft.Json ,Litjson,JsonUtility,SimpleJSON)

JSON文件是一种纯文本文件,用于存储数据,并且是基于JavaScript的一个子集。JSON文件通常用于存储和传输数据,以及在应用程序之间交换信息。它们以键值对的形式存储数据,其中键是字符串,值可以是字符串、数字、布尔值、数组、对象或null。JSON文件通常具有.json扩展名,例如example.json。在JSON文件中,数据以层次结构的形式组织,可以表示嵌套的对象和数组。JSON文件通常用于存储配置信息、数据交换和持久化存储。可以在了解关于JSON的更多信息。解析时间。

游戏开发小Y的博客 14万+
上一篇: Unity天空盒子CubeMap制作
下一篇: 将博客搬至优快云_苏祁风_新浪博客
苏祁风
博客等级 码龄9年 5粉丝 15原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值