如何将 JsonObject 转换为 JSON 字符串
How can I convert a JsonObject to a JSON String?
>我正在尝试将结构及其包含的数据转换为合法的 JSON 字符串。我在C++的虚幻引擎工作。
我正在尝试转换的结构:
USTRUCT()
struct DATALOGGING_API FGURaaSDataStruct
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY()
FString id_session = "test";
UPROPERTY()
TArray<FData> data;
};
在上一个结构中使用的结构:
USTRUCT()
struct DATALOGGING_API FData
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY()
FString data;
UPROPERTY()
FString tag1;
UPROPERTY()
FString tag2;
UPROPERTY()
FString tag3;
UPROPERTY()
FString tag4;
UPROPERTY()
TArray<FString> additional_tags;
UPROPERTY()
FString time;
};
当前版本:(JsonObject - UE4 特定代码(
FGURaaSDataStruct tObj = FGURaaSDataStruct();
TSharedPtr<FJsonObject> jsonObject = FJsonObjectConverter::UStructToJsonObject<FGURaaSDataStruct>(tObj);
这里生成的 JsonObject 包含创建 Json 字符串所需的所有信息,理想情况下,我希望有一种简单的方法来将此 JsonObject 转换为 JSON 字符串。
这会将 Json 序列化为 OutputString,然后您可以自由地做任何您想做的事情。
有关更多信息,请参阅在虚幻引擎4中使用Json。
void FStructToJsonString(FStructXXX _myStruct) {
TSharedPtr<FJsonObject> JsonObject = MakeShareable(new FJsonObject);
JsonObject->SetStringField("param1", _myStruct.param1);
JsonObject->SetStringField("param2", _myStruct.param2);
FString OutputString;
TSharedRef< TJsonWriter<> > Writer = TJsonWriterFactory<>::Create(&OutputString);
FJsonSerializer::Serialize(JsonObject.ToSharedRef(), Writer);
UE_LOG(LogTemp, Warning, TEXT("resulting jsonString -> %s"), *OutputString);
}
相关文章:
- 如何在 c++ 非托管代码中反序列化 byte[] 的 json 字符串?
- 使用 minijson-reader 库读取 JSON 字符串时出现问题
- POCO C++对象到 JSON 字符串序列化
- 将可变参数模板参数转换为 JSON 字符串
- 从 json 字符串将 QVariant 转换为 QList<MyClass>
- 如何使用 boost 属性树来解析 boost 中 json 字符串中的数组中的元素?
- 使用Python将C 结构更改为JSON字符串
- 如何将变量用作原始 JSON 字符串中的数据?
- 如何将 JsonObject 转换为 JSON 字符串
- 从.txt文件中将C 中的JSON字符串贴上
- 使用 Cereal 反序列化 JSON 字符串
- 使用 jsoncpp 解析 JSON 字符串
- Rapidjson漂亮的打印使用JSON字符串作为作者的输入
- 如何处理JSON字符串中的unicode值
- 为什么BOOST创建的JSON字符串与我的服务器所需的不同
- 如何在C++中使用boost库将类对象转换为json字符串
- 如何在使用JSON boost序列化创建JSON字符串时获取名称-值对
- 如何在网络上序列化并发送JSOn字符串中的std::list
- 将带有 json 字符串的帖子发送到服务器
- 使用 Casablanca REST SDK 将 JSON 字符串转换为C++对象