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;
相关推荐
vipbic1 小时前
别再把“做个H5”挂嘴边了:这个词,官方压根就没有定义过
前端
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第87题】【Mysql篇】第17题:分布式事务的实现原理?
java·数据库·分布式·mysql·面试
yyuuuzz1 小时前
独立站的技术基础与常见运维问题
大数据·运维·服务器·网络·数据库·aws
来杯@Java2 小时前
图书管理系统(基于springboot+vue前后端分离的项目)计算机毕业设计java
java·spring boot·spring·vue·毕业设计·mybatis·课程设计
ZC跨境爬虫2 小时前
跟着 MDN 学CSS day_39:(Flexbox 弹性盒子核心机制)
前端·css·ui·html·tensorflow
小陈同学呦3 小时前
前端如何处理订单状态导航的数据竞态问题
前端·javascript
卷毛的技术笔记3 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥3 小时前
匿名函数 lambda + 高阶函数
java·python·算法
喵个咪3 小时前
GoWind Toolkit 前端代码生成|Vue3(ElementPlus/Vben)、React(AntDesign)全自动一键生成教程
前端·vue.js·react.js
東雪木3 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试