JsonUtility读写json简单应用

本文介绍了在Unity中使用JsonUtility进行JSON数据的读写操作。通过一个名为MyJsonRW的脚本,实现了数据与JSON的转换和读写功能。然而,在实践中发现浮点数在序列化和反序列化过程中出现错误,数值不准确。为解决此问题,通常建议将浮点数以字符串格式进行存储和读取。此外,还提到数据类的成员变量必须为公有才能正常工作,以及JsonUtility不支持枚举和其他一些限制。对于这些问题,网上已有相应解决方案,或者可以考虑使用第三方JSON库作为替代。
摘要由CSDN通过智能技术生成

使用Unity提供的JsonUtility 简单封装了一个将数据以json格式存储到本地,方便数据读写的案例;

一共三个脚本:

MyJsonRW : 提供SaveJsonData和LoadWithJson,实现数据与json的转换和读写;

TestData : 测试数据类,列举了部分常用的简单数据类型(不过有坑,后面会说);

MyJsonExample : 例子实践,随便弄的UI;

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

public class MyJsonRW
{
    public static void SaveJsonData<T>(string path, T data)
    {
        if (string.IsNullOrEmpty(path))
        {
            Debug.LogError("存储路径不存在");
            return;
        }

        string json = JsonUtility.ToJson(data, true);
        File.WriteAllText(path, json);
        Debug.Log("json存储完成,路径:" + path);
    }

    public static T LoadWithJson<T>(string path)
    {
        if (string.IsNullOrEmpty(path))
        {
            Debug.LogError
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值