虚幻4读取Json文件数据
1.用虚幻C++读取文件目录
TEXT(内写文件路径以及名称)
FString DATA;
if (FFileHelper::LoadFileToString(DATA, TEXT("D:\\UEclass\\ShaperPointer\\Saved\\data.json")))
{
GEngine->AddOnScreenDebugMessage(-1, 2, FColor::Green,TEXT("Got IT"));
}
2.读取Json数据
拿我的Json文件内容示例
"this": [{
"is": [{
"my": {
"name": "json",
"code": ["hi", "here"]
}
解析功能代码
TSharedRef<TJsonReader<TCHAR>> Reader = TJsonReaderFactory<TCHAR>::Create(DATA);
TSharedPtr<FJsonObject>RootObj;
if (FJsonSerializer::Deserialize(Reader,RootObj))
{
//读取用数组方法解析this下的数据
TArray<TSharedPtr<FJsonValue>> hithis = RootObj->GetArrayField(TEXT("this"));
//读取用数组方法解析is下的数据
TArray<TSharedPtr<FJsonValue>> ismy = hithis[0]->AsObject()->GetArrayField(TEXT("is"));
//读取用对象方法解析my下的数据
TSharedPtr<FJsonObject> info = ismy[0]->AsObject()->GetObjectField(TEXT("my"));
TArray<TSharedPtr<FJsonValue>> hobby = info->GetArrayField(TEXT("code"));
//打印
GEngine->AddOnScreenDebugMessage(-1, 2, FColor::Green, hobby[0]->AsString());
}
运行效果: