ue4 c++ json 保存
时间: 2023-08-29 16:02:24 浏览: 244
UE4json插件
在UE4中保存JSON数据可以通过使用Json标准库来实现。下面是一个简单的示例:
首先,需要包含Json标准库的头文件。
```cpp
#include "Json.h"
```
然后,创建一个Json对象,并添加需要保存的数据。
```cpp
FJsonObject jsonObject;
// 添加数据
jsonObject.SetStringField("name", "John");
jsonObject.SetNumberField("age", 25);
// 如果需要保存更复杂的数据,可以使用Json数组
// TArray<FJsonValue> jsonArray;
// jsonArray.Add(MakeShareable(new FJsonValueString("value1")));
// jsonArray.Add(MakeShareable(new FJsonValueNumber(42)));
// jsonObject.SetArrayField("array", jsonArray);
```
接下来,将Json对象转换为字符串。
```cpp
// 将Json对象转换为Json字符串
TSharedPtr<FJsonObject> jsonPtr = MakeShareable(new FJsonObject(jsonObject));
FString jsonString;
TSharedRef<TJsonWriter<>> jsonWriter = TJsonWriterFactory<>::Create(&jsonString);
FJsonSerializer::Serialize(jsonPtr.ToSharedRef(), jsonWriter);
```
最后,将Json字符串保存到文件中。
```cpp
FFileHelper::SaveStringToFile(jsonString, TEXT("保存路径"));
```
如果想要从文件中读取Json数据,可以使用类似的步骤。
首先,加载Json文件内容到一个字符串中。
```cpp
FString jsonString;
FFileHelper::LoadFileToString(jsonString, TEXT("文件路径"));
```
然后,将Json字符串解析为Json对象。
```cpp
TSharedPtr<FJsonObject> jsonObject;
TSharedRef<TJsonReader<>> jsonReader = TJsonReaderFactory<>::Create(jsonString);
if (FJsonSerializer::Deserialize(jsonReader, jsonObject))
{
// 解析成功,可以通过JsonObject访问保存的数据
FString name = jsonObject->GetStringField("name");
int32 age = jsonObject->GetNumberField("age");
}
```
阅读全文