虚幻引擎:UEC++中如何解析JSON字符串

一丶解析对象型JSON

cpp 复制代码
//解析对象形JSON
	FString JsonString = TEXT("{\"name\":\"二狗\"}");
	//通过解析工厂创建解析阅读器
	TSharedRef<TJsonReader<>> Json =TJsonReaderFactory<>::Create(JsonString);
	//创建用于接收的UE的Json对象
	TSharedPtr<FJsonObject> JsonObject;
	//通过序列化工具进行反序列化,序列化一般指,将内存数据结构转换为其他数据结构
	 if(FJsonSerializer::Deserialize(Json,JsonObject))
	 {
	 	FString name = JsonObject->GetStringField(TEXT("name"));
	    UE_LOG(LogTemp, Log, TEXT("ok%s"),*name)
	 }

二丶解析数组型JSON

cpp 复制代码
//解析数组型JSON
	FString JsonString = TEXT("[\"张三\",12,true,{\"name\":\"二狗\"}]");
	//通过解析工厂创建解析阅读器
	TSharedRef<TJsonReader<>> Json =TJsonReaderFactory<>::Create(JsonString);
	//创建用于接收的UE的Json数组
	TArray<TSharedPtr<FJsonValue>>JsonObject;
	//通过序列化工具进行反序列化,序列化一般指,将内存数据结构转换为其他数据结构
	 if(FJsonSerializer::Deserialize(Json,JsonObject))
	 {
	    UE_LOG(LogTemp, Log, TEXT("ok%s"),*JsonObject[0]->AsString())
	    UE_LOG(LogTemp, Log, TEXT("ok%f"),JsonObject[1]->AsNumber())
	    UE_LOG(LogTemp, Log, TEXT("ok%d"),JsonObject[2]->AsBool())
	 	FString name = JsonObject[3]->AsObject()->GetStringField("name");
	    UE_LOG(LogTemp, Log, TEXT("ok%s"),*name)
	 }
相关推荐
字节高级特工23 分钟前
智能指针原理与使用场景全解析
开发语言·c++·算法
插件开发1 小时前
CUDA11-VS2015安装-工具链测试-Helloworld程序
c++·gpu·cuda
攻城狮Soar1 小时前
STL源码解析之deque
开发语言·c++
PixelBai1 小时前
JSON差异比较高级用法技巧
java·服务器·json
Rabitebla2 小时前
C++ 多态详解:从概念到虚表底层原理(代码轰炸)
开发语言·c++
charlie1145141912 小时前
通用GUI编程技术——图形渲染实战(五十)——命中测试与鼠标事件路由:精确交互
c++·windows·架构·交互·图形渲染
hetao17338373 小时前
2026-05-25~06-11 hetao1733837 的刷题记录
c++·算法
洛水水3 小时前
【力扣100题】82.有效的括号
c++·算法·leetcode
初中就开始混世的大魔王3 小时前
7 Fast DDS-持久化服务
c++·人工智能·中间件·自动驾驶·信息与通信
爱吃生蚝的于勒3 小时前
QT开发第三章——常用控件
linux·服务器·开发语言·前端·javascript·c++·qt