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;
相关推荐
码少女17 分钟前
Linux--套接字编程
linux·服务器·网络
进击的荆棘21 分钟前
Linux系统——进程控制(下)
linux·运维·服务器·进程
重生之小比特27 分钟前
【Java SE】字符串 - String类
java·开发语言·intellij-idea
mldong6 小时前
给若依加审批流,不用 Flowable
java·spring boot·架构
Setsuna_F_Seiei6 小时前
前端转型 Agent 开发 04 之 MCP 与 Skill(赋予 Agent 更广工作能力)
前端·agent
Wang's Blog8 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
刘发财8 小时前
前端2秒生成500页矢量PDF,rust真的强到没朋友
前端·javascript·rust
讳疾忌医丶8 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
郑州光合科技余经理8 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
毅炼8 小时前
Rover-Suite 开源发布:轻量服务注册中心与网关一体化方案
java·后端·系统架构·gateway