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;
相关推荐
OnlyEasyCode1 天前
Linux下载Navicat、特定版本Mysql
linux·运维·服务器
羊小猪~~1 天前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
kk哥88991 天前
分享一些学习JavaSE的经验和技巧
java·开发语言
济6171 天前
linux 系统移植(第七期)----U-Boot 图形化配置及其原理-- Ubuntu20.04
linux·运维·服务器
栈与堆1 天前
LeetCode 21 - 合并两个有序链表
java·数据结构·python·算法·leetcode·链表·rust
lagrahhn1 天前
Java的RoundingMode舍入模式
java·开发语言·金融
鸽鸽程序猿1 天前
【JavaEE】【SpringCloud】注册中心_nacos
java·spring cloud·java-ee
米高梅狮子1 天前
01. 配置DHCP服务器
服务器·网络·php
云上凯歌1 天前
01 GB28181协议基础理解
java·开发语言
晚风资源组1 天前
CSS文字和图片在容器内垂直居中的简单方法
前端·css·css3