虚幻引擎: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)
	 }
相关推荐
努力中的编程者3 小时前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
没文化的阿浩3 小时前
【C++】详解继承机制
开发语言·c++
拳里剑气3 小时前
C++算法:队列与BFS
c++·算法·bfs·宽度优先·队列
aaPIXa6224 小时前
C++模板元编程:在编译期完成计算,实现零运行时开销
java·开发语言·c++
郝学胜-神的一滴4 小时前
CMake 038:OBJECT目标复用编译+Linux动态库版本自动化管理
linux·c++·程序人生·软件工程·软件构建·cmake·工程配置
Sylvia-girl5 小时前
第八站:vector及其常用操作【上】
c++
Sunsets_Red5 小时前
浅谈博弈论
c++·学习·编程·博弈论·信息学竞赛·巴巴博弈
ALex_zry5 小时前
C++26 std::inplace_vector 详解:零堆分配的定容向量
开发语言·c++
PixelBai6 小时前
JSON转XML使用教程:从入门到精通
xml·json
我不是懒洋洋6 小时前
从零实现一个安全沙箱:文件行为分析系统
c++