UE5 C++ JSON 最简单,麻烦的方式,直接读存(一)

cpp 复制代码
void ASimpleJsonActor::NotGoodJson()
{
	struct TempMessageInfo
	{
		int32 UECode = -1;
		FString UEMessage = TEXT("");
		FString UEData = TEXT("");
		FString Side = TEXT("");
	};
	
	TempMessageInfo MyTempInfo;
	MyTempInfo.UECode = 998;
	MyTempInfo.UEMessage = TEXT("Test");
	MyTempInfo.UEData = TEXT("123456");
	MyTempInfo.Side = TEXT("11111");

	FString NotGoodJSON = FString::Printf(TEXT("{\"Code\":%d, \"Message\":\"%s\",\"Data\":\"%s\",\"Sid\":\"%s\"}"),
		MyTempInfo.UECode,*MyTempInfo.UEMessage,*MyTempInfo.UEData,*MyTempInfo.Side
		);
	
	FString FilePath = FPaths::ProjectSavedDir()/TEXT("NoGoodJSON.json");
	//序列化
	FFileHelper::SaveStringToFile(NotGoodJSON,*FilePath,FFileHelper::EEncodingOptions::ForceUTF8WithoutBOM);
	//反序列化
	FString BackNotGoodJSON = TEXT("");

	FFileHelper::LoadFileToString(BackNotGoodJSON,*FilePath);
}

1.这种方式是在 写好FString里的数据,以JSON的格式,创建数据格式类似{"":"","":""}。

然后用SaveStringToFile,将数据以哪种数据流格式,存到具体路径的文件夹下。这里用的UTF-8.

FPaths::ProjectSavedDir(); 可以看出,它是给的Save的文件夹路径。

2.写入后,如下:

3.反序列化,把数据从文件读回FString里。

cpp 复制代码
	//反序列化
	FString BackNotGoodJSON = TEXT("");

	FFileHelper::LoadFileToString(BackNotGoodJSON, *FilePath);
	int a = 3;
相关推荐
minji...1 分钟前
Linux 进程信号(二)信号的保存,sigset_t,sigprocmask,sigpending
linux·运维·服务器·网络·数据结构·c++·算法
何中应16 分钟前
Grafana如何重置密码
linux·运维·服务器·grafana
柳杉24 分钟前
Three.js × Blender:从建模到 Web 3D 的完整工作流深度解析
前端·javascript·数据可视化
DynamicsAgg29 分钟前
企业数字化底座-k8s企业实践系列第二篇pod创建调度
java·容器·kubernetes
森林里的程序猿猿41 分钟前
并发设计模式
java·开发语言·jvm
222you1 小时前
四个主要的函数式接口
java·开发语言
Javatutouhouduan1 小时前
Java全栈面试进阶宝典:内容全面,题目高频!
java·高并发·java面试·java面试题·后端开发·java程序员·java八股文
SEO-狼术1 小时前
RAD Studio 13.1 Florence adds
java
reembarkation1 小时前
vue3中使用howler播放音频列表
前端·vue.js·音视频
手握风云-1 小时前
基于 Java 的网页聊天室(三)
服务器·前端·数据库