CN108052320A - 一种将二进制结构体转换为json对象的方法 - Google Patents

一种将二进制结构体转换为json对象的方法 Download PDF

Info

Publication number
CN108052320A
CN108052320A CN201711310213.4A CN201711310213A CN108052320A CN 108052320 A CN108052320 A CN 108052320A CN 201711310213 A CN201711310213 A CN 201711310213A CN 108052320 A CN108052320 A CN 108052320A
Authority
CN
China
Prior art keywords
field
template
type
converted
json objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711310213.4A
Other languages
English (en)
Other versions
CN108052320B (zh
Inventor
高昀
黄越
蔡楚煌
朱世东
朱贤
陈稼
谌鹏
张晓军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SSE INFONET Ltd
Original Assignee
SSE INFONET Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SSE INFONET Ltd filed Critical SSE INFONET Ltd
Priority to CN201711310213.4A priority Critical patent/CN108052320B/zh
Publication of CN108052320A publication Critical patent/CN108052320A/zh
Application granted granted Critical
Publication of CN108052320B publication Critical patent/CN108052320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/311Functional or applicative languages; Rewrite languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及信息数据处理技术领域,具体来说是一种将二进制结构体转换为JSON对象的方法,通过在结构体中先引入一个整型的结构体类型字段,并将结构体的转换信息定义到模板文件中,实现一个统一的结构体转换为JSON格式的方法,本发明同现有技术相比,其优点在于:通过增加定义结构体类型和转换模板配置文件,可以实现一个统一的转换器,不再需要为每个结构体编写转换函数;模板定义具有扩展性,并且可以对每个字段单独设置精度,减少开发人员的工作量,提高了开发效率。

Description

一种将二进制结构体转换为JSON对象的方法
[技术领域]
本发明涉及信息数据处理技术领域,具体来说是一种将二进制结构体转换为JSON对象的 方法。
[背景技术]
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合,是在C/C++中经常 使用的一种数据结构,在内存中是以二进制形式存储的,其他高级语言中也有类似的实现。
JSON,是采用完全独立于编程语言的文本格式来存储和表示数据。它易于人阅读和编写, 同时也易于机器解析和生成,在互联网服务中最广泛采用的数据格式。
目前在证券行业里最基本的行情服务,特别是网站、移动APP行情服务很多都是输出JSON 数据来供客户端展示。而服务端的行情数据内部大都采用二进制的结构体存储,这样在数据 输出是要经过一次格式转换的过程。
考虑到目前交易所众多,不同交易所还会多个交易品种,行情服务实际会存在多种不同 的行情数据结构体,造成输出JSON数据的代码重复、冗长、易出错。
例如上海证券交易所Level-1行情在接口文件mktdt00.txt就定义了四种行情类型,分 别是指数、股票(A、B股,股票价格精度不同)、债券、基金。行情服务则需要根据不同品 种定义不同的结构体,并分别转换为JSON数据格式返回。
1)假设“指数行情”的结构体定义为:
服务接口定义为:http://IP:port/sh1/snap/SecurityID,请求上证指数快照行情为 http://IP:port/sh1/snap/000001;
转换时调用Index2Json(Index index)方法依次将每个字段添加到JSON对象中,最后 返回JSON数据:
{"SecurityID":"000001","Symbol":"上证综指","PreClose":"3347.16","Open": "3347.16","High":"3356.45","Low":"3334.99","Last":"3334.99","Close": "3334.99","Volumn":"17900","Amount":"179000","Time":"13:15:30.000"}
2)假设“股票行情”的结构体定义为:
请求浦发银行快照行情为http://IP:port/sh1/snap/600000;
转换时调用AStock2Json(Stock stock)方法依次将每个字段添加到JSON对象中,最 后返回JSON数据返回JSON数据:
{"SecurityID":"600000","Symbol":"浦发银行","PreClose":"12.89","Open":"12.89","High":"12.89","Low":"12.72","Last":"12.76","Close":"12.76", "Volumn":"1680","Amount": "20600","Bid":[{"price":"12.75","volumn":"2064"},{"price":"12.74","volumn":"17 35"},{"price":"12.73","volumn":"1337"},{"price":"12.72","volumn":"2722"},{"pr ice":"12.71","volumn":"2317"}],"Ask":[{"price":"12.76","volumn":"116"},{"price ":"12.77","volumn":"79"},{"price":"12.78","volumn":"633"},{"price":"12.79","vo lumn":"244"},{"price":"12.80","volumn":"1365"}],"Time":"13:51:30.000"}
3)其他类型:
其他品种也需要定义各种结构体,并编写各自转换方法如: BStock2Json,Bond2Json,Fund2Json等。
这种方式的缺点在于:
一.代码冗长,复用性低:需要为每个结构体输出都编写转换代码;
二.无扩展性:如果结构体新增字段,则必须修改转换代码,没有扩展性;
三:价格精度容易出错:由于每个品种的价格精度不同,储存时是用整型,转换时需根 据精度移位。编写不同转换代码时经常使用复制粘贴方式,精度容易出错。
因此,需要设计一种新型的将二进制结构体转换为JSON对象的方法。
[发明内容]
本发明的目的在于解决现有技术的不足,提供一种将二进制结构体转换为JSON对象的方 法,通过在结构体中先引入一个整型的结构体类型字段,并将结构体的转换信息定义到模板 文件中,实现一个统一的结构体转换为JSON格式的方法。
为了实现上述目的,设计一种将二进制结构体转换为JSON对象的方法,所述的方法包括 如下步骤:
a.重新定义结构体,并在结构体中增加结构体类型字段,所述的结构体类型字段中 包含用于标示结构体类型的标识;
b.根据需要转换的结构体定义配置模板文件,所述的配置模板文件中包含至少一个 转换模板,所述的转换模板中包含用于标示结构体类型的标识和转换信息并能被用于转换所 述的标识所标示的类型的结构体;
c.建立模板管理容器以存放和读取配置模板文件,模板管理容器读取配置模板文件 后根据所述的配置模板文件中包含的至少一个转换模板相应生成模板对象,并根据用于标示 结构体类型的标识使结构体与模板对象相对应,再根据转换信息的描述通过调用模板对象将 与模板对象相对应的结构体中的内容添加至JSON对象并将JSON对象输出。
本发明还具有如下优选的技术方案:
所述的标识包括标示数字和标签名称。
所述的转换信息包括若干字段,所述的若干字段与所述的转换模板中包含的用于标示结 构体类型的标识所标示的结构体中的字段内容相对应。
所述的字段可以包括简单字段和复合字段,简单字段的类型包括String、Int16、Int32、 Int64、Float、Double,其中只有String必须声明长度length,Int型可以声明一个尾数长 度,来表示转换后需要的小数精度;复合字段包括结构体和数组,数组必须指定数组长度, 数组中能够再包含一个转换模板。
所述的根据转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添 加至JSON对象并将JSON对象输出的具体步骤如下:
c1.根据转换模板所包含的字段相应生成字段对象,依次计算字段所对应的字段内容在结 构体中的偏移地址,并将字段内容的偏移地址信息存放于相应的字段对象中;
c2.调用字段对象,根据字段对象中存储的偏移位置信息及输入的结构体地址,计算得到 字段内容的实际地址,根据字段内容的实际地址读取结构体中的字段内容并添加到JSON对 象;
c3.输出JSON对象。
所述的计算字段所对应的字段内容在结构体中的偏移地址和计算得到字段内容的实际地 址的方法如下:
1)以程序输入的参数为结构体实际起始地址;
2)结构体中第一个字段内容的偏移地址为0,第n个字段内容的偏移地址=n-1字段内 容的偏移地址+n-1字段内容的长度;
3)实际字段内容地址=结构体实际起始地址+字段内容的偏移地址。
本发明同现有技术相比,其优点在于:通过增加定义结构体类型和转换模板配置文件, 可以实现一个统一的转换器,不再需要为每个结构体编写转换函数;模板定义具有扩展性, 并且可以对每个字段单独设置精度,减少开发人员的工作量,提高了开发效率。
[具体实施方式]
下面对本发明作进一步说明,这种方法的原理对本专业的人来说是非常清楚的。应当理 解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本方案提供的JSON数据转换方法,主要包括步骤a和b的定义结构体和模板配置文件, 以及步骤c的通过Struct2Json转换器程序模块读入模板生成转换器并输出JSON对象,相关 的主要步骤有:
a.重新定义结构体,并在结构体中增加结构体类型字段,所述的结构体类型字段中包含 用于标示结构体类型的标识;
b.根据需要转换的结构体定义模板文件structs.json:根据需要转换的结构体定义配 置模板文件,所述的配置模板文件中包含至少一个转换模板,所述的转换模板中包含用于标 示结构体类型的标识和转换信息并能被用于转换所述的标识所标示的类型的结构体;
c.读入模板生成转换器并输出JSON对象:建立模板管理容器以存放和读取配置模板文 件,模板管理容器读取配置模板文件后根据所述的配置模板文件中包含的至少一个转换模板 相应生成模板对象,并根据用于标示结构体类型的标识使结构体与模板对象相对应,再根据 转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添加至JSON对象 并将JSON对象输出:
所述的通过调用模板对象将与模板对象相对应的结构体转换为JSON对象并输出的具体 步骤如下:
c1.根据转换模板所包含的字段相应生成字段对象,依次计算字段所对应的字段内容在结 构体中的偏移地址,并将字段内容的偏移地址信息存放于相应的字段对象中;
c2.调用字段对象,根据字段对象中存储的偏移位置信息及输入的结构体地址,计算得到 字段内容的实际地址,根据字段内容的实际地址读取结构体中的字段内容并添加到JSON对 象;
c3.输出JSON对象。
模板配置文件编写方法示例如下:
templates::={template}
template::=(id)(tag){field}|(tag){field}|{field}
field::=simple_field|struct_field|array_field
simple_field::=(type)[tag][length][mantissa]
struct_field::=("Struct")(tag)(template)
array_field::=("Array")(tag)(length)(simple_field|template)
id::=Int32
tag::=String
type::=String|Int16|Int32|Int64|Float|Double
length::=Int32
mantissa::=Int32
所述的配置模板文件中包含至少一个转换模板,所述的转换模板中包含用于标示结构体 类型的标识和转换信息,所述的标识包括标示数字和标签名称,所述的转换信息包括若干字 段,所述的若干字段与所述的转换模板中包含的用于标示结构体类型的标识所标示的结构体 中的字段内容相对应。如一个转换模板可以由一个标示数字id、一个标签名称tag和多个字 段组成。
所述的字段可以包括简单字段和复合字段。简单字段的类型包括String、Int16、Int32、Int64、Float、Double,其中只有String必须声明长度length,Int型可以声明一个尾数长 度,来表示转换后需要的小数精度。复合字段有结构体和数组,数组必须指定数组长度,数 组可以由一个简单字段构成或者和结构体一样可以再包含一个转换模板。
例如:重新定义结构体Index、Stock为SH_Index和SH_Stock,标签名称SH_Index、SH_Stock和增加template_id字段作为用于标示结构体类型的标识构成结构体类型字段。
根据需要转换的结构体的内容实现一个转换模板配置文件structs.json:
Struct2Json转换器程序模块主要包括如下:
模板管理容器:读入模板配置文件structs.json,根据模板定义生成各类结构体的转换 模板对象并放入容器中,容器功能由Map对象实现。模板管理容器主要提供以下功能:
(1)读取模板文件;
(2)生成模板对象;
(3)根据结构体类型查找到对应模板;
(4)调用模板对象将结构体转换为JSON对象。
所述的模板对象本身也是个容器,包含一个Ventor容器,来存放字段对象,主要功能是:
(1)生成字段对象,依次计算字段所对应的字段内容在结构体中的偏移地址,并将字 段内容的偏移地址信息存放于相应的字段对象中;
(2)调用字段对象,根据偏移地址,读取结构体中内容并添加到JSON对象;
(3)输出JSON对象。
字段对象不存放结构体中的值,只是存放该字段内容在结构体中的偏移地址、类型、长 度和转换精度等信息。然后,根据实际输入的结构体地址,计算得到字段内容的实际地址, 取出数据进行转换,再输出到JSON对象中。
由于结构体字段长度类型都是预先定义的,所以可以根据模板配置文件的定义依次访问 结构体中的字段。示例如下,offset即为偏移地址,得到
SH_Index.SecurityID,offset=4,(char*)(data+offset)
SH_Index.PreClose,offset=28,*((int*)(data+offset))
计算字段内容的实际地址的算法如下:
1)结构体实际起始地址是程序输入参数;
2)结构体中第一个字段内容的偏移地址为0;
3)第n字段内容的偏移地址=n-1字段内容的偏移地址+n-1字段内容的长度,
4)由于结构体本身是长度固定的数据结构,所以字段内容的长度要么已知,要 么可以通过配置模板文件中的长度定义得出;
5)实际字段内容地址=结构体实际起始地址+字段内容的偏移地址。
而偏移地址offset的计算,实际在配置模板文件读入时就已计算完成,例如:我们所定 义的结构体,第一个字段总是结构体类型("type"),第一字段的offset=0,类型为int32,int32长度为已知,4个字节,不需要模板定义;
具体如SH_Index第一个字段即是结构体类型字段的SecurityID,该字段的offset=0+4=4,类型为String,长度为模板定义的8字节;
依次类推SH_Index第二个字段是Symbol,offset=12......
用C语言举例:比如输入的数据是void*data,那么data就是此结构体的起始地址,取字段值就是起始地址+偏移量,得到实际地址后,再进行类型转换。
取结构体类型,offset=0,类型是int32,
int*pStruType=(int*)(data+offset);
值就是*pStruType。
SecurityID的offset=4,类型是String,长度是length=8,
char*pValue=(char*)(data+offset);
std::String str(pValue,length);
值就是str。

Claims (6)

1.一种将二进制结构体转换为JSON对象的方法,其特征在于所述的方法包括如下步骤:
a.重新定义结构体,并在结构体中增加结构体类型字段,所述的结构体类型字段中包含用于标示结构体类型的标识;
b.根据需要转换的结构体定义配置模板文件,所述的配置模板文件中包含至少一个转换模板,所述的转换模板中包含用于标示结构体类型的标识和转换信息并能被用于转换所述的标识所标示的类型的结构体;
c.建立模板管理容器以存放和读取配置模板文件,模板管理容器读取配置模板文件后根据所述的配置模板文件中包含的至少一个转换模板相应生成模板对象,并根据用于标示结构体类型的标识使结构体与模板对象相对应,再根据转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添加至JSON对象并将JSON对象输出。
2.如权利要求1所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的标识包括标示数字和标签名称。
3.如权利要求1所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的转换信息包括若干字段,所述的若干字段与所述的转换模板中包含的用于标示结构体类型的标识所标示的结构体中的字段内容相对应。
4.如权利要求3所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的字段包括简单字段和复合字段,简单字段的类型包括String、Int16、Int32、Int64、Float、Double,其中String类型必须包含长度的声明,Int型能包含尾数长度的声明,用以表示转换后需要的小数精度;复合字段的类型包括结构体和数组,数组必须包含指定数组长度的声明,且数组中能够包含转换模板。
5.如权利要求3或4所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的根据转换信息的描述通过调用模板对象将与模板对象相对应的结构体中的内容添加至JSON对象并将JSON对象输出的具体步骤如下:
c1.根据转换模板所包含的字段相应生成字段对象,依次计算字段所对应的字段内容在结构体中的偏移地址,并将字段内容的偏移地址信息存放于相应的字段对象中;
c2.调用字段对象,根据字段对象中存储的偏移位置信息及输入的结构体地址,计算得到字段内容的实际地址,根据字段内容的实际地址读取结构体中的字段内容并添加到JSON对象;
c3.输出JSON对象。
6.如权利要求5所述的一种将二进制结构体转换为JSON对象的方法,其特征在于所述的计算字段所对应的字段内容在结构体中的偏移地址和计算得到字段内容的实际地址的方法如下:
1)以程序输入的参数为结构体实际起始地址;
2)结构体中第一个字段内容的偏移地址为0,第n个字段内容的偏移地址=n-1字段内容的偏移地址+n-1字段内容的长度;
3)实际字段内容地址=结构体实际起始地址+字段内容的偏移地址。
CN201711310213.4A 2017-12-11 2017-12-11 一种将二进制结构体转换为json对象的方法 Active CN108052320B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711310213.4A CN108052320B (zh) 2017-12-11 2017-12-11 一种将二进制结构体转换为json对象的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711310213.4A CN108052320B (zh) 2017-12-11 2017-12-11 一种将二进制结构体转换为json对象的方法

Publications (2)

Publication Number Publication Date
CN108052320A true CN108052320A (zh) 2018-05-18
CN108052320B CN108052320B (zh) 2021-03-05

Family

ID=62124003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711310213.4A Active CN108052320B (zh) 2017-12-11 2017-12-11 一种将二进制结构体转换为json对象的方法

Country Status (1)

Country Link
CN (1) CN108052320B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109508299A (zh) * 2018-09-07 2019-03-22 深圳拓邦股份有限公司 存储器定位方法、装置、计算机装置及计算机可读存储介质
CN110399289A (zh) * 2019-06-14 2019-11-01 平安科技(深圳)有限公司 应用程序测试的评价方法、装置、服务器及存储介质
CN110727417A (zh) * 2018-06-28 2020-01-24 腾讯科技(北京)有限公司 一种数据处理方法和装置
CN111061481A (zh) * 2019-12-17 2020-04-24 神州数码融信软件有限公司 数据格式转换方法及装置
CN113297296A (zh) * 2021-05-31 2021-08-24 西南大学 多样式类型数据的json化处理方法
US11157478B2 (en) 2018-12-28 2021-10-26 Oracle International Corporation Technique of comprehensively support autonomous JSON document object (AJD) cloud service
US11226955B2 (en) 2018-06-28 2022-01-18 Oracle International Corporation Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing
US11423001B2 (en) 2019-09-13 2022-08-23 Oracle International Corporation Technique of efficiently, comprehensively and autonomously support native JSON datatype in RDBMS for both OLTP and OLAP
CN116301907A (zh) * 2023-05-24 2023-06-23 成都索贝视频云计算有限公司 解析结构体二进制数据的方法、设备、介质及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201816A (zh) * 2007-12-20 2008-06-18 北大方正集团有限公司 将数据流中的数据输出到xml文件中的适配器及方法
US20140063027A1 (en) * 2012-09-04 2014-03-06 Massimo J. Becker Remote gpu programming and execution method
CN106708491A (zh) * 2015-11-17 2017-05-24 北京国双科技有限公司 Html格式邮件的生成方法及装置
CN106919509A (zh) * 2017-03-09 2017-07-04 腾讯科技(深圳)有限公司 一种客户端生成方法、装置及电子设备
CN107209755A (zh) * 2015-01-26 2017-09-26 西门子公司 用于转换二进制数据流的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101201816A (zh) * 2007-12-20 2008-06-18 北大方正集团有限公司 将数据流中的数据输出到xml文件中的适配器及方法
US20140063027A1 (en) * 2012-09-04 2014-03-06 Massimo J. Becker Remote gpu programming and execution method
CN107209755A (zh) * 2015-01-26 2017-09-26 西门子公司 用于转换二进制数据流的方法
CN106708491A (zh) * 2015-11-17 2017-05-24 北京国双科技有限公司 Html格式邮件的生成方法及装置
CN106919509A (zh) * 2017-03-09 2017-07-04 腾讯科技(深圳)有限公司 一种客户端生成方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ARMINK: ""armink/struct2json 1、【增加】API说明文档"", 《HTTPS://GITHUB.COM/ARMINK/STRUCT2JSON/COMMIT/5C85D9887898510D2AE34B3C0517F67449FD7B54》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110727417A (zh) * 2018-06-28 2020-01-24 腾讯科技(北京)有限公司 一种数据处理方法和装置
US11226955B2 (en) 2018-06-28 2022-01-18 Oracle International Corporation Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing
CN110727417B (zh) * 2018-06-28 2024-03-15 腾讯科技(北京)有限公司 一种数据处理方法和装置
CN109508299A (zh) * 2018-09-07 2019-03-22 深圳拓邦股份有限公司 存储器定位方法、装置、计算机装置及计算机可读存储介质
US11157478B2 (en) 2018-12-28 2021-10-26 Oracle International Corporation Technique of comprehensively support autonomous JSON document object (AJD) cloud service
CN110399289A (zh) * 2019-06-14 2019-11-01 平安科技(深圳)有限公司 应用程序测试的评价方法、装置、服务器及存储介质
CN110399289B (zh) * 2019-06-14 2023-10-20 平安科技(深圳)有限公司 应用程序测试的评价方法、装置、服务器及存储介质
US11423001B2 (en) 2019-09-13 2022-08-23 Oracle International Corporation Technique of efficiently, comprehensively and autonomously support native JSON datatype in RDBMS for both OLTP and OLAP
US11762834B2 (en) 2019-09-13 2023-09-19 Oracle International Corporation Technique of efficiently, comprehensively and autonomously support native JSON datatype in RDBMS for both OLTP and OLAP
CN111061481A (zh) * 2019-12-17 2020-04-24 神州数码融信软件有限公司 数据格式转换方法及装置
CN113297296A (zh) * 2021-05-31 2021-08-24 西南大学 多样式类型数据的json化处理方法
CN116301907A (zh) * 2023-05-24 2023-06-23 成都索贝视频云计算有限公司 解析结构体二进制数据的方法、设备、介质及系统

Also Published As

Publication number Publication date
CN108052320B (zh) 2021-03-05

Similar Documents

Publication Publication Date Title
CN108052320A (zh) 一种将二进制结构体转换为json对象的方法
US6874146B1 (en) Metadata driven system for effecting extensible data interchange based on universal modeling language (UML), meta object facility (MOF) and extensible markup language (XML) standards
CN103077185B (zh) 一种基于对象的自定义扩展信息的方法
US7509574B2 (en) Method and system for reducing delimiters
Kaur et al. An evaluation of protocol buffer
CN105450232A (zh) 编码、解码方法以及编码装置和解码装置
JP5044942B2 (ja) 文書分析において受付状態を決定するシステム及び方法
CN103095823A (zh) 一种物联网系统中对象的描述方法及对象信息交互系统
US8024353B2 (en) Method and system for sequentially accessing compiled schema
CN101216906A (zh) 一种流程控制方法及一种流程引擎
CN101202736B (zh) 一种基于抽象语法标记实现编解码的方法
CN106789898A (zh) 远程数据传输终端、系统及其编码、解码方法
CN110502667A (zh) 基于dom框架的odx文档解析和生成技术
CN101770367B (zh) .net文件压缩方法和装置
CN106598885B (zh) 一种可配置的多端口通用数据桥接系统的工作方法
CN108664546A (zh) Xml数据结构转换方法和装置
CN108366050A (zh) 一种通用通信协议处理方法
JP5789236B2 (ja) 構造化文書分析方法、構造化文書分析プログラム、および構造化文書分析システム
US7735001B2 (en) Method and system for decoding encoded documents
CN103885765A (zh) 一种xbrl元素的编码方法
CN102394874B (zh) Tuxedo数据协议转换方法
US20060212799A1 (en) Method and system for compiling schema
CN111796803B (zh) 一种基于多级容器转存的模板报表生成方法
Šandrih et al. Towards Efficient and Unified XML/JSON Conversion-A New Conversion
CN1836374B (zh) 一种适合代码自动生成的结构化数据的二进制编码方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant