UE4 C++ struct转化为FString

.h:

UFUNCTION(BlueprintCallable, CustomThunk, meta = (CustomStructureParam = "StructData"))
        FString ConvertStructToString(const int32& StructData);

    DECLARE_FUNCTION(execConvertStructToString);

.cpp:

FString UTestComponent::ConvertStructToString(const int32& StructData)
 {
	 checkNoEntry();
	 return FString();
 }

 DEFINE_FUNCTION(UTestComponent::execConvertStructToString)
 {
	 Stack.MostRecentPropertyAddress = nullptr;
	 Stack.StepCompiledIn<FStructProperty>(nullptr);
	 void* StructPtr = Stack.MostRecentPropertyAddress;
	 FStructProperty* StructProperty = CastField<FStructProperty>(Stack.MostRecentProperty);

	 P_FINISH

		 if (ensure((StructProperty != nullptr) && (StructProperty->Struct != nullptr) && (StructPtr != nullptr)))
		 {
			 FString OutString;
			 FJsonObjectConverter::UStructToJsonObjectString(StructProperty->Struct, StructPtr, OutString);
			 *static_cast<FString*>(Z_Param__Result) = OutString;
		 }
 }

 

参考:虚幻-任意结构体和字符串相互转化 - 知乎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值