文件路径json格式存储

本文介绍了如何在C++项目中以JSON格式存储文件目录结构。通过遍历目录,将路径信息转化为JSON对象并累加处理,同时注意处理可能出现的异常情况。
摘要由CSDN通过智能技术生成

项目需要以json格式存储指定文件目录结构,如需求如下所示:

简要思路,遍历指定目录结构,存储在list中,然后,取出每一条路径结构,进行json格式化,

与已有json格式路径对象相加。

生成json格式代码:

BOOL _makeValue(Json::Value & ret, const PFILEINFO pfileInfor)
{
	BOOL blRet = FALSE;
	if (pfileInfor == nullptr)
	{
		_tprintf(_T("invlaid input value."));
		return FALSE;
	}
	Json::Reader read;
	Json::Value root;
	Json::Value val;
	TStringList lstFileFolder;
	Split(lstFileFolder, pfileInfor->strFullPath.c_str(), _T("\\"), TRUE);

	for (auto rit = lstFileFolder.rbegin(); rit != lstFileFolder.rend(); rit++)
	{
		TString strfile = *rit;
		if (rit == lstFileFolder.rbegin())
		{
			TString strExt = PathFindExtension(pfileInfor->strFullPath
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Unity,您可以使用JsonUtility类将Unity对象数据以JSON格式保存到文件JsonUtility类提供了一组静态方法,用于将对象序列化为JSON字符串,以及将JSON字符串反序列化为对象。 以下是一个示例代码,展示如何使用JsonUtility类将Unity对象数据保存到JSON文件: ```csharp using UnityEngine; using System.IO; [System.Serializable] public class PlayerData { public string playerName; public int playerLevel; public float playerHealth; } public class JsonExample : MonoBehaviour { void Start() { // 创建一个PlayerData对象并设置数据 PlayerData playerData = new PlayerData(); playerData.playerName = "John"; playerData.playerLevel = 5; playerData.playerHealth = 100f; // 将PlayerData对象转换为JSON字符串 string json = JsonUtility.ToJson(playerData); // 将JSON字符串写入文件 string filePath = Application.persistentDataPath + "/playerData.json"; File.WriteAllText(filePath, json); Debug.Log("Player data saved to: " + filePath); } } ``` 在上述示例代码,我们先创建一个名为PlayerData的类,它包含了我们想要保存的对象数据。然后,在Start()方法,我们创建一个PlayerData对象并设置数据。接下来,我们使用JsonUtility.ToJson()方法将PlayerData对象转换为JSON字符串。最后,我们使用File.WriteAllText()方法将JSON字符串写入文件。 请注意,我们使用了Application.persistentDataPath来获取一个可持久化的文件路径,以便在不同平台上都能正确保存文件。 要读取JSON文件并将其反序列化为对象,您可以使用JsonUtility.FromJson()方法。以下是一个示例代码: ```csharp void LoadPlayerData() { string filePath = Application.persistentDataPath + "/playerData.json"; string json = File.ReadAllText(filePath); PlayerData playerData = JsonUtility.FromJson<PlayerData>(json); Debug.Log("Loaded player data: " + playerData.playerName + ", Level: " + playerData.playerLevel + ", Health: " + playerData.playerHealth); } ``` 在上述示例代码,我们首先读取JSON文件的内容,然后使用JsonUtility.FromJson()方法将其反序列化为PlayerData对象。 希望这个示例对您有所帮助!如有任何问题,请随时向我提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值