首先说一个也能序列化的插件 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序列化工具 数据转成字符串等相关推荐

  1. 解决Python自带的json序列化工具不能序列化datetime类型数据问题

    解决Python自带的json序列化工具不能序列化datetime类型数据问题 参考文章: (1)解决Python自带的json序列化工具不能序列化datetime类型数据问题 (2)https:// ...

  2. 【Flutter】JSON 模型转换 ( JSON 序列化工具 | JSON 手动序列化 | 根据 JSON 编写 Dart 模型类 | 在线自动根据 JSON 转换 Dart 类 )

    文章目录 一.JSON 序列化工具 二.JSON 手动序列化 三.根据 JSON 编写 Dart 模型类 四.在线自动转换 五.相关资源 一.JSON 序列化工具 JSON 格式比较简单的话 , 使用 ...

  3. 迄今为止最快的 JSON 序列化工具 Jil

    2019独角兽企业重金招聘Python工程师标准>>> 迄今为止最快的 JSON 序列化工具 Jil https://github.com/kevin-montrose/Jil 转载 ...

  4. python转化成字符串_如何利用Python将其他数据类型转换成字符串类型

    Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...

  5. 将数据转化成字符串时:用字符串的链接 还是 StringBuilder

    /*目的:将数据转化成字符串时:用字符串的链接 还是 StringBuilder呢? */ public class Test{public static void main(String[] arg ...

  6. mysql group by 字符串拼接_MySQL之GROUP_CONCAT()函数——将查询到的数据拼接成字符串...

    语法: GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC |DE ...

  7. json格式的数据转化为字符串

    data = {"book_id":b_id,"cid":f"{b_id}|{cid}","need_bookinfo" ...

  8. .NET序列化工具Jil、Json.NET和Protobuf的简单测评

    前一段时间逛园子的时候发现有人比较了Jil.Json.NET和Protobuf的性能,一时好奇,也做了个测试,这里记录下来,以供查阅. 前期准备 依赖类库的话,可以通过Nuget在公共组件库总下载,这 ...

  9. 【Flex】读取本地JSON,然后JSON数据转成XML数据

    package utils {import flash.xml.XMLDocument;import flash.xml.XMLNode;import mx.rpc.xml.SimpleXMLEnco ...

最新文章

  1. We wear culture:Google 艺术与文化项目带你探秘穿在身上的文化
  2. python函数绘制5个太阳花_python_bomb----函数
  3. php mysql grant_mysql grant命令详解_MySQL
  4. 正则表达式匹配减号_THOR断点教程0910 网球规则1112 后附常用正则表达式数据...
  5. OpenSUSE11实现pam_mysql对FTP认证管理
  6. 只安装python能干什么_你都用 Python 来做什么?
  7. findwindowex子窗口类型有哪几种_游戏场景该怎么画?来参考一下不同的类型吧
  8. 大数据可视化分析方法与流程
  9. 大学生html作业总结,总结 HTML标签作业
  10. kuangbin棋盘问题
  11. 平行坐标图:高维数据可视化必备图形
  12. Redis(二)Redis客户端的使用
  13. git获取本地版本号_[git] 本地仓库信息的查询
  14. 网易校招内推-2023届技术类岗位
  15. 安恒2020-四月春季战-reverse-sm
  16. 光学载波网络(SONET OC)的网络带宽
  17. 邀你来看 | CSDN公开课 利用容器技术打造AI公司技术中台
  18. 一位特殊的中国特斯拉车主,让马斯克感动了
  19. 职场分享:职场生涯中我们经常面临的一些困惑
  20. 为什么有时 Oracle 数据库不用索引来查找数据

热门文章

  1. ArcEngine(五)用ICommand接口实现放大缩小
  2. steam账号连接服务器遇到问题,无法预料的服务器浏览器反应 - Steam Support
  3. 可视化方向的几个期刊会议,供参考
  4. uniapp 获取商米本机SN码
  5. 「Python 网络自动化」Nornir—— Inventory(主机清单)介绍
  6. 电影沙龙之《黑镜-白熊公园》
  7. html 整个页面只能看,如何截图整个完整的网页页面(包含滚动条下面看不到的网页)...
  8. plc虚拟服务器,VMware软件虚拟机和PLC通讯的连接方法
  9. python安装第三方库的方法
  10. Git Clone命令直接使用用户名密码Clone