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;
相关推荐
小旭@13 小时前
vue3官方文档巩固
前端·javascript·vue.js
努力往上爬de蜗牛13 小时前
electron 打包
前端·javascript·electron
美自坚韧13 小时前
qiankun微前端
前端·vue.js
高桥留14 小时前
可编辑的span
前端·javascript·css
a***592614 小时前
SpringBoot实现异步调用的方法
java·spring boot·spring
即将进化成人机14 小时前
Spring Boot配置文件
java·开发语言·intellij-idea
龙智DevSecOps解决方案14 小时前
Java开发基础:什么是Spring Boot?一文了解其优势、对比以及如何通过Perforce JRebel实现高效开发
java·开发语言·spring boot·jrebel·perforce·java开发
GoWjw14 小时前
内存管理【3】
linux·服务器·c++·ubuntu
一直都在57214 小时前
手写tomcat(1):Socket
java·tomcat
三小河14 小时前
js Class中 静态属性和私有属性使用场景得的区别
前端·javascript