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

MATLAB新手必看:5分钟搞定直流无刷电机Simulink仿真(附完整模型下载)

本文为MATLAB新手提供直流无刷电机Simulink仿真的快速入门指南,涵盖从环境配置到速度控制闭环实现的完整流程。通过详细的模块选择和参数设置说明,帮助读者5分钟内搭建基础仿真模型,并附赠完整模型下载,助力快速掌握电机控制仿真技术。

efc123456的博客 984

风控要略-互联网业务反欺诈之路(一)

当前中国互联网安全产业答题可以分为基础安全和业务安全两个领域。从互联网诞生至2014年,互联网安全行业关注的热点基本都聚焦在网络安全、系统安全和应用安全这个三大基础安全领域上,“DDOS“(分布式拒绝服务攻击)1、“漏洞“、“拖库“2和“挂马“3等大家耳熟能详的术语也是从这些领域中衍生出来的。2014年前后,随着互联网业务的爆炸式发展,黑产团伙开始从“攻击渗透系统“的传统套路进化到“利用业务风控确实进行大规模牟利“的模式,并且逐渐形成规模庞大、分工明确的黑色产业链。

Despacito1006的博客 1013

Unity | 使用JsonUtility解析Json

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

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

告别‘报错马拉松’:一份保姆级的Ubuntu 20.04编译OpenWrt 15.05环境配置与问题修复清单

本文提供了一份详细的Ubuntu 20.04编译OpenWrt 15.05的环境配置与问题修复指南,帮助开发者告别‘报错马拉松’。从基础环境搭建到典型报错分类与修复方案,再到高阶问题的深度修复,全面覆盖编译过程中可能遇到的各类问题,并提供自动化补丁脚本和Docker环境固化方案,确保编译过程高效顺畅。

weixin_33230433的博客 297

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

通达信波段交易公式实战:如何用副图指标精准捕捉买卖点(附完整源码)

本文深入解析通达信波段交易副图指标的构建与应用,提供完整源码实现,帮助投资者精准捕捉买卖点。通过趋势强度度量、超买超卖判断及信号过滤机制,结合K线图分析,有效提升波段交易的成功率。

weixin_29306317的博客 608

手把手教你解决Ubuntu 20.04虚拟机桥接模式下的网络问题:DHCP与静态IP配置全指南

本文详细解析了Ubuntu 20.04虚拟机在桥接模式下的网络配置问题,包括DHCP与静态IP的配置方法及常见故障排查技巧。通过深入讲解桥接模式原理和提供实战操作指南,帮助用户解决无法访问外网、ping不通等典型网络问题,实现虚拟机与物理网络的无缝连接。

weixin_29256771的博客 543

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

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

weixin_34021089的博客 531

Neo4j LLM知识图谱构建器使用教程

是一个开源应用程序,旨在将非结构化数据(如PDF、文档、文本、YouTube视频、网页等)转换为存储在Neo4j中的知识图谱。该项目利用大型语言模型(如OpenAI、Gemini等)从文本中提取节点、关系及其属性,并通过Langchain框架创建结构化的知识图谱。

u013250861的博客 541

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

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

gitblog_06548的博客 2181

华为OD机试 - 猴子吃桃 - 二分查找(Java 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 3850

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Unity自带Json解析库——JsonUtility

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

L的博客 7751

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【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

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Unity内置的JsonUtility解析Json文本

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

不二 1372

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、付费专栏及课程。

余额充值