json字符串为 R"({"x": -1870.0, "y": -11400.0})",里面内容是个json对象。
const FString& Message = R"({"x": -1870.0, "y": -11400.0})";
TSharedRef<TJsonReader<>> Reader = TJsonReaderFactory<>::Create(Message);
TSharedPtr<FJsonObject> JsonObject;
if (FJsonSerializer::Deserialize(Reader, JsonObject) && JsonObject.IsValid())
{
float x = JsonObject->GetNumberField("x");
float y = JsonObject->GetNumberField("y");
}
R:表示这个字符串是原始字符串,不需要转义,允许字符串中包括\n等特殊字符
注意事项:
- 1、需要引入json相关的头文件
#include "Json.h"
- 2、在项目的Build.cs文件中添加json相关的内容
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "WebSockets", "Json" });
- 3、重新编译项目,如果编译出错,可以尝试在ue4中,文件-刷新Visual Studio项目,自动打开Visual Studio再编译