UE4的JSON读写方式

UE4 的json读写方式


JSON 的解析有很多开源库。UE4的JSON使用在代码的Public->Serialization中。

头文件包含:Json.h

Json的读写创建是static形成的单例模式,有JsonWrite或JsonReader的Factory来创建(Create)出来。

以读方式为例子:

读的代码:
	float _score = MyPlayerState->GetScore();
	FString _player_name = MyPlayerState->GetName();
	int _kills = MyPlayerState->GetKills();
	int _deaths = MyPlayerState->GetDeaths();


	FString JsonStr;
	TSharedRef< TJsonWriter<TCHAR, TCondensedJsonPrintPolicy<TCHAR> > > JsonWriter = TJsonWriterFactory<TCHAR, TCondensedJsonPrintPolicy<TCHAR> >::Create(&JsonStr);
<span style="white-space:pre">	</span>JsonWriter->WriteObjectStart();
	JsonWriter->WriteValue(TEXT("name"), _player_name);
	JsonWriter->WriteValue(TEXT("score"), _score);
	JsonWriter->WriteValue(TEXT("deaths"), _deaths);
	JsonWriter->WriteValue(TEXT("kills"), _kills);
<span style="white-space:pre">	</span>JsonWriter->WriteObjectEnd();
	// Close the writer and finalize the output such that JsonStr has what we want
	JsonWriter->Close();
	return JsonStr;



写的对象可以为Objcet或Array数组,value值。

一个读写过程中,Start和End要对应,因为Json格式的要求,要不我怎么知道哪里是一个对象或数组的结尾呢。这样就会造成混乱的。


所有的读写都在close之后才真正的完成处理。

看网上例子很少,自己贴个,自己也方便!


----------------------------

若有问题,请随时联系!

非常感谢!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。