ue4 unreal4 json序列化工具 數據轉成字符串等

首先說一個也能序列化的插件 VaRest 這個能序列化能發請求,但是序列化這塊不太好用,可能是我不怎麼會用吧。。。

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

正式介紹一下今天的主角插件 JsonBlueprint 

是免費的!是免費的!是免費的!

虛幻商城 搜索 json

 

就是這個插件啦~~~

 

說實話我真的沒找到api。。。

雖然我感覺所有api在他的圖片預覽裏面已經出現了,但是琢磨這玩意也要一會兒,挺麻煩的(其實更方便自己

寫個常規操作指南還是比較方便的
(安裝:安裝到引擎->進項目->編輯->插件->啓用插件->重啓)

(安裝:安裝到引擎->進項目->Edit->Plugins->Enable->RestartNow)

好了安裝成功

----------------------------------------------------------------正文開始---------------------------------------------------------

先介紹常用節點吧

 

1.make節點,用於將各類基礎數據類型轉換成插件識別的對象

2.創建json對象 純函數 JsonMake 這個對象就是一個{}

3.創建json鍵值對 純函數 JsonMakeField

json Object就是2裏面的json對象

field Name 是鍵的名稱

value 是由1創建出來的統一值

4.用於查看是否擁有該鍵 純函數 JsonHasField

5.序列化爲字符串 ToString(JsonObject)

還有挺多比較高級的節點,比如setField makeMap等等節點,大家按需折騰吧~~我就不展開了

---------------------------------------------------------常規使用案例---------------------------------------------------------

這裏做一個常規使用案例,基本足夠各位正常序列化需求,方便儲存信息

首先我們創建一個簡單的結構體吧

我們來序列化一個 Person的數組

先創建數組

進行序列化循環

整體思路就是用jsonMake進行轉換,然後放入鍵值對

這裏有個地方需要大家注意

需要創建一個json對象用來承載這四個數據類型

所以就需要使用到 jsonMake 創建一個對象

之後的JsonMakeField需要傳入一個json對象 並且返回組裝後的json對象

最後將這返回後的 json對象進行 JsonMakeObject 對象化

然後存放到一個Json對象數據組

循環完成後將數組轉化爲對象並且序列化爲字符串

看一下輸出結果

{"personArray":[{"name":"翠花","age":18,"isMan":false,"position":[0,0,0]},{"name":"西施","age":20,"isMan":false,"position":[0,0,0]},{"name":"張三","age":35,"isMan":true,"position":[0,0,0]},{"name":"李四","age":25,"isMan":true,"position":[0,0,0]}]}

校驗一下 木得問題

爲了方便查看,擺了擺截一張整圖

 

下面進行反向序列化爲對象

核心思路就是講數據按照名稱拆分之後重新組裝

將剛纔輸出的結果保存爲變量 Result 方便操作

首先將json字符串轉換爲json對象

一定要注意節點名稱是下面這個

然後判斷一下這個json對象內是否有該鍵,可以用JsonHasField來判斷一下,防止報錯

(當然你有把握也可以不寫,這裏我只寫一次)

我剛纔封裝的數組對象名爲 personArray 可以在上面序列化藍圖裏面看到

下一步需要將進行轉換

將這個json對象通過 ToJsonValue 轉換爲json對象

這個節點是需要鍵名的,而且因爲第一層是person的數組,所以要轉換爲數組

當然是用數組節點的

展開後循環獲取每一層的對象

然後進行對象拆分,之後再是用ToJsonValue來分解數據,然後再通過對應的類型轉換

將json對象轉換爲對應類型就可以正常使用了

這裏有一點一定要注意,從數組中拿到的obj也是要進行 ToJsonObject 操作之後纔可以使用

藍圖樣子很普通

廢話有點多,下面直接上藍圖~~~(真的很容易忘,昨天用的,今天忘得一乾二淨。。。)

看一下結果

~~~搞定

最後說一下,這個插件還能使用的更復雜,層次更多,我這裏就不演示了

支持字典就證明可以組裝的更騷氣,然而解析也很費力。。。誰讓我不會c++

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章