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++
--------------------------------------------------------------------------------
追加更新:
上面的字符串如果只是纯数组
例如:
[{"name":"河北","value":"123123"},{"name":"河南","value":"7777"}]
这个插件就解析不了,因为无法提取没有名称的东西,必须有个名字
虽然没找到原生的解决方案,但是咱们可以曲线救国
给字符串套个对象0.0
示例粗糙,结合之前的结论一起看就明白了~~~希望大家顺利顺利
ue4 unreal4 json序列化工具 数据转成字符串等相关推荐
- 解决Python自带的json序列化工具不能序列化datetime类型数据问题
解决Python自带的json序列化工具不能序列化datetime类型数据问题 参考文章: (1)解决Python自带的json序列化工具不能序列化datetime类型数据问题 (2)https:// ...
- 【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )
文章目录 一.JSON 序列化工具 二.JSON 手动序列化 三.根据 JSON 编写 Dart 模型类 四.在线自动转换 五.相关资源 一.JSON 序列化工具 JSON 格式比较简单的话 , 使用 ...
- 迄今为止最快的 JSON 序列化工具 Jil
2019独角兽企业重金招聘Python工程师标准>>> 迄今为止最快的 JSON 序列化工具 Jil https://github.com/kevin-montrose/Jil 转载 ...
- python转化成字符串_如何利用Python将其他数据类型转换成字符串类型
Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...
- 将数据转化成字符串时:用字符串的链接 还是 StringBuilder
/*目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{public static void main(String[] arg ...
- mysql group by 字符串拼接_MySQL之GROUP_CONCAT()函数——将查询到的数据拼接成字符串...
语法: GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DE ...
- json格式的数据转化为字符串
data = {"book_id":b_id,"cid":f"{b_id}|{cid}","need_bookinfo" ...
- .NET序列化工具Jil、Json.NET和Protobuf的简单测评
前一段时间逛园子的时候发现有人比较了Jil.Json.NET和Protobuf的性能,一时好奇,也做了个测试,这里记录下来,以供查阅. 前期准备 依赖类库的话,可以通过Nuget在公共组件库总下载,这 ...
- 【Flex】读取本地JSON,然后JSON数据转成XML数据
package utils {import flash.xml.XMLDocument;import flash.xml.XMLNode;import mx.rpc.xml.SimpleXMLEnco ...
最新文章
- We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
- python函数绘制5个太阳花_python_bomb----函数
- php mysql grant_mysql grant命令详解_MySQL
- 正则表达式匹配减号_THOR断点教程0910 网球规则1112 后附常用正则表达式数据...
- OpenSUSE11实现pam_mysql对FTP认证管理
- 只安装python能干什么_你都用 Python 来做什么?
- findwindowex子窗口类型有哪几种_游戏场景该怎么画?来参考一下不同的类型吧
- 大数据可视化分析方法与流程
- 大学生html作业总结,总结 HTML标签作业
- kuangbin棋盘问题
- 平行坐标图:高维数据可视化必备图形
- Redis(二)Redis客户端的使用
- git获取本地版本号_[git] 本地仓库信息的查询
- 网易校招内推-2023届技术类岗位
- 安恒2020-四月春季战-reverse-sm
- 光学载波网络(SONET OC)的网络带宽
- 邀你来看 | CSDN公开课 利用容器技术打造AI公司技术中台
- 一位特殊的中国特斯拉车主,让马斯克感动了
- 职场分享:职场生涯中我们经常面临的一些困惑
- 为什么有时 Oracle 数据库不用索引来查找数据
热门文章
- ArcEngine(五)用ICommand接口实现放大缩小
- steam账号连接服务器遇到问题,无法预料的服务器浏览器反应 - Steam Support
- 可视化方向的几个期刊会议,供参考
- uniapp 获取商米本机SN码
- 「Python 网络自动化」Nornir—— Inventory(主机清单)介绍
- 电影沙龙之《黑镜-白熊公园》
- html 整个页面只能看,如何截图整个完整的网页页面(包含滚动条下面看不到的网页)...
- plc虚拟服务器,VMware软件虚拟机和PLC通讯的连接方法
- python安装第三方库的方法
- Git Clone命令直接使用用户名密码Clone