[发明专利]一种将二进制结构体转换为JSON对象的方法有效
申请号: | 201711310213.4 | 申请日: | 2017-12-11 |
公开(公告)号: | CN108052320B | 公开(公告)日: | 2021-03-05 |
发明(设计)人: | 高昀;黄越;蔡楚煌;朱世东;朱贤;陈稼;谌鹏;张晓军 | 申请(专利权)人: | 上证所信息网络有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/40 |
代理公司: | 上海三方专利事务所(普通合伙) 31127 | 代理人: | 吴玮;钱品兴 |
地址: | 201203 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 二进制 结构 转换 json 对象 方法 | ||
1.一种将二进制结构体转换为JSON对象的方法,其特征在于所述的方法包括如下步骤:
a.重新定义结构体,并在结构体中增加结构体类型字段,所述的结构体类型字段中包含用于标示结构体类型的标识;
b.根据需要转换的结构体定义配置模板文件,所述的配置模板文件中包含至少一个转换模板,所述的转换模板中包含用于标示结构体类型的标识和转换信息并能被用于转换所述的标识所标示的类型的结构体;
c.建立模板管理容器以存放和读取配置模板文件,模板管理容器读取配置模板文件后根据所述的配置模板文件中包含的至少一个转换模板相应生成模板对象,并根据用于标示结构体类型的标识使结构体与模板对象相对应,再根据转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添加至JSON对象并将JSON对象输出;
所述的转换信息包括若干字段,所述的若干字段与所述的转换模板中包含的用于标示结构体类型的标识所标示的结构体中的字段内容相对应;
所述的根据转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添加至JSON对象并将JSON对象输出的具体步骤如下:
c1.根据转换模板所包含的字段相应生成字段对象,依次计算字段所对应的字段内容在结构体中的偏移地址,并将字段内容的偏移地址信息存放于相应的字段对象中;
c2.调用字段对象,根据字段对象中存储的偏移位置信息及输入的结构体地址,计算得到字段内容的实际地址,根据字段内容的实际地址读取结构体中的字段内容并添加到JSON对象;
c3.输出JSON对象。
2.如权利要求1所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的标识包括标示数字和标签名称。
3.如权利要求1所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的字段包括简单字段和复合字段,简单字段的类型包括String、Int16、Int32、Int64、Float、Double,其中String类型必须包含长度的声明,Int型能包含尾数长度的声明,用以表示转换后需要的小数精度;复合字段的类型包括结构体和数组,数组必须包含指定数组长度的声明,且数组中能够包含转换模板。
4.如权利要求1所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的计算字段所对应的字段内容在结构体中的偏移地址和计算得到字段内容的实际地址的方法如下:
1)以程序输入的参数为结构体实际起始地址;
2)结构体中第一个字段内容的偏移地址为0,第n个字段内容的偏移地址=n-1字段内容的偏移地址+n-1字段内容的长度;
3)实际字段内容地址=结构体实际起始地址+字段内容的偏移地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上证所信息网络有限公司,未经上证所信息网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711310213.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种办公室创意加湿器
- 下一篇:一种牛油果冰淇淋奶浆及其制备方法与应用