虚幻引擎: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)
	 }
相关推荐
不会就选b5 小时前
C++补充部分(一)--lambda 表达式
开发语言·c++
福兮说11 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
丰色木夕12 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
烂蜻蜓14 小时前
Pandas入门教程(六):数据读写详解——CSV、JSON、Pickle 与格式选型
json·pandas
衍玊15 小时前
多路转接原理与应用
c++
etafort16 小时前
js格式化json树结构
json
himobrinehacken17 小时前
位运算揭秘:左右移与符号位陷阱
c语言·c++·算法·安全
Android小码家19 小时前
Vehicle 实战 自定义属性+测试demo
java·c++·framework·vhal·vehicle
hetao173383719 小时前
2026-10-19 hetao1733837 的刷题记录
c++·算法
夏虫不可与之言冰19 小时前
第三课 点亮 LED 与定时器非阻塞闪烁
c语言·c++·vscode·单片机·嵌入式硬件·物联网