一丶解析对象型JSON
//解析对象形JSONFString 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
//解析数组型JSONFString 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)}