CN102609482B - 一种json数据格式的封装方法 - Google Patents
一种json数据格式的封装方法 Download PDFInfo
- Publication number
- CN102609482B CN102609482B CN201210017939.XA CN201210017939A CN102609482B CN 102609482 B CN102609482 B CN 102609482B CN 201210017939 A CN201210017939 A CN 201210017939A CN 102609482 B CN102609482 B CN 102609482B
- Authority
- CN
- China
- Prior art keywords
- file
- configuration
- json
- configuration file
- packing
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种JSON数据格式的封装方法,包括:步骤1:获取JSON格式配置文件;步骤2:将话单文件读入内存;步骤3:在配置文件中查找与该话单文件相对应的配置规则;步骤4:从所述话单文件中读取一条话单记录;步骤5:根据配置文件,获取一条规则也就是一个字段的“名称”;步骤6:获取名称对应的字段的“值”,将“名称/值”写入临时文件;步骤7:重复步骤5至步骤6,直到遍历完配置文件中针对这一个话单文件的全部配置规则;步骤8:重复步骤4到步骤7,直到全部话单处理完成。本发明的方法利用一个JSON格式配置文件,将JSON文件中的“名称/值”进行灵活配置,使得JSON格式文件可以被高效的、灵活的组装。
Description
技术领域
本发明涉及一种JSON数据格式的封装方法,特别是在电信系统内部需要封装多种格式的JSON文件时使用。
背景技术
随着电信运营商不断的发展,业务扩展越来越广,各种新业务层出不穷;各种业务话单传输过程中,承载的载体也不同,一种协议编码的文件要承载多种格式的业务话单。
传统的封装方法,是将业务格式定义在程序里面,这样就造成了新增业务和修改业务时,需要对程序的修改,工作量大,风险高。
为了应对这种业务多变性,减少修改程序造成的风险,发明一种高效的数据封装方法是非常有必要,也是非常有帮助的。
发明内容
本发明的目的是提供一种高效的JSON数据格式的封装方法,实现使用灵活的配置文件,对JSON格式进行配置,去除程序和业务格式的相关性。
本发明解决上述技术问题的技术方案如下:
步骤1:获取JSON格式配置文件;
步骤2:将话单文件读入内存;
步骤3:根据话单文件的命名规则,在配置文件中查找与该话单文件相对应的配置规则,如果存在,则进入步骤4;否则,系统告警,并结束流程;
步骤4:从所述话单文件中读取一条话单记录;
步骤5:根据配置文件,获取一条规则也就是一个字段的“名称”;
步骤6:获取名称对应的字段的“值”,将“名称/值”写入临时文件;
步骤7:重复步骤5至步骤6,直到遍历完配置文件中针对这一个话单文件的全部配置规则;
步骤8:重复步骤4到步骤7,直到全部话单处理完成。
需要注意,配置文件只需要解析一次,避免处理效率低。
本发明的有益效果是:JSON格式可以通过配置灵活设置,“名称”在配置文件可以随时修改增加,“值”的内容也通过配置灵活设置,最大程度上提高了程序的灵活性,去除了程序的业务相关性,减少了业务调整时修改程序造成的风险。
附图说明
图1为本发明的JSON格式封装方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的JSON格式封装方法,根据话单文件文件名,在配置文件中找到对应的规则;对配置规则进行逐条处理,获取配置中的“名称”,根据配置,得到“值”,拼出最终的JSON格式数据后,生成临时文件。
具体地,本发明的JSON格式封装方法,如图1所示,包括以下步骤:
步骤1:获取JSON格式配置文件;
步骤2:将话单文件读入内存;
步骤3:在配置文件中查找与该话单文件相对应的配置规则,如果存在,则进入步骤4;否则,系统告警并结束流程。在配置文件中查找与该话单文件相对应的配置规则时,一种方式是根据话单文件的命名规则,配置文件中查找与该话单文件相对应的配置规则。
步骤4:从所述话单文件中读取一条话单记录;
步骤5:根据配置文件,获取一条规则也就是一个字段的“名称”;
步骤6:获取名称对应的字段的“值”,将“名称/值”写入临时文件;
步骤7:重复步骤5至步骤6,直到遍历完配置文件中针对这一个话单文件的全部配置规则;
步骤8:重复步骤4到步骤7,直到全部话单处理完成。
在步骤8之后,还可以根据需要进一步生成出口文件,并生成运行日志和处理日志。
在步骤1之前,还可以包括判断是否需要退出系统,如果是,则直接退出,否则直接进行步骤1。
举例:以下为采用本发明方法的配置文件信息,本文件配置的是一种格式的基本信息。
根据话单文件的文件名与配置文件中HEAD内容进行最长匹配,找到对应的配置;FIELD_NAME对应JSON格式的“名称”,FILED_TYPE定义了该字段的类型,1number、2:char、3:number(n.n)小数;FIELD_VALUE定义了这个字段的“值”的来源。
另外,JSON格式配置文件中,可以多套配置共用一个配置文件
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种JSON数据格式的封装方法,包括:
步骤1:获取JSON格式配置文件;
步骤2:将话单文件读入内存;
步骤3:在配置文件中查找与该话单文件相对应的配置规则,如果存在,则进入步骤4;否则,系统告警,并结束流程;
步骤4:从所述话单文件中读取一条话单记录;
步骤5:根据配置文件,获取一条规则也就是一个字段的“名称”;
步骤6:获取名称对应的字段的“值”,将“名称/值”写入临时文件;
步骤7:重复步骤5至步骤6,直到遍历完配置文件中针对这一个话单文件的全部配置规则;
步骤8:重复步骤4到步骤7,直到全部话单处理完成。
2.根据权利要求1所述的JSON数据格式的封装方法,其特征在于:JSON格式配置文件声明字段的格式内容。
3.根据权利要求1或2所述的JSON数据格式的封装方法,其特征在于:JSON格式配置文件中,需要指明字段的“名称”。
4.根据权利要求3所述的JSON数据格式的封装方法,其特征在于:JSON格式配置文件中,需要指明字段“名称”对应的值的来源。
5.根据权利要求1所述的JSON数据格式的封装方法,其特征在于:JSON格式配置文件中,多套配置规则共用一个配置文件。
6.根据权利要求1所述的JSON数据格式的封装方法,其特征在于:在步骤8之后,还进一步生成出口文件,并生成运行日志和处理日志。
7.根据权利要求1所述的JSON数据格式的封装方法,其特征在于:在步骤1之前,还需要判断是否需要退出系统,如果是,则直接退出,否则直接进行步骤1。
8.根据权利要求1所述的JSON数据格式的封装方法,步骤3中的在配置文件中查找与该话单文件相对应的配置规则,具体为根据话单文件的命名规则,在配置文件中查找与该话单文件相对应的配置规则。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210017939.XA CN102609482B (zh) | 2012-01-19 | 2012-01-19 | 一种json数据格式的封装方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210017939.XA CN102609482B (zh) | 2012-01-19 | 2012-01-19 | 一种json数据格式的封装方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609482A CN102609482A (zh) | 2012-07-25 |
CN102609482B true CN102609482B (zh) | 2014-07-16 |
Family
ID=46526854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210017939.XA Active CN102609482B (zh) | 2012-01-19 | 2012-01-19 | 一种json数据格式的封装方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609482B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473058B (zh) * | 2013-09-10 | 2016-09-14 | 北京思特奇信息技术股份有限公司 | 一种生成asn1数据文件的便捷编码方法 |
CN104572416A (zh) * | 2014-12-29 | 2015-04-29 | 北京锐安科技有限公司 | 一种运维数据的处理方法及装置 |
CN108521527B (zh) * | 2018-03-14 | 2020-12-11 | 北京思特奇信息技术股份有限公司 | 话单差异检测方法、系统、计算机存储介质及计算机设备 |
CN110046385B (zh) * | 2019-03-13 | 2023-06-30 | 广州王石软件技术有限公司 | 一种基于模型唯一标识的工艺拷贝方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217507A (zh) * | 2007-12-29 | 2008-07-09 | 深圳市迅雷网络技术有限公司 | 提供及替换网页中数据的方法、装置及系统 |
CN102158482A (zh) * | 2011-03-10 | 2011-08-17 | 易程(苏州)软件股份有限公司 | 基于json数据协议的客运信息通信方法及系统 |
CN102270238A (zh) * | 2011-08-11 | 2011-12-07 | 北京龙戴特信息技术有限公司 | 构建语文知识点拓展的方法和装置 |
-
2012
- 2012-01-19 CN CN201210017939.XA patent/CN102609482B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217507A (zh) * | 2007-12-29 | 2008-07-09 | 深圳市迅雷网络技术有限公司 | 提供及替换网页中数据的方法、装置及系统 |
CN102158482A (zh) * | 2011-03-10 | 2011-08-17 | 易程(苏州)软件股份有限公司 | 基于json数据协议的客运信息通信方法及系统 |
CN102270238A (zh) * | 2011-08-11 | 2011-12-07 | 北京龙戴特信息技术有限公司 | 构建语文知识点拓展的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102609482A (zh) | 2012-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2912579B1 (en) | Method and apparatus for accelerated format translation of data in a delimited data format | |
CN108399256A (zh) | 异构数据库内容同步方法、装置及中间件 | |
CN102609482B (zh) | 一种json数据格式的封装方法 | |
CN109684333A (zh) | 一种数据存储及裁剪方法、设备和存储介质 | |
CN106598828B (zh) | 一种源代码中的无效类确定方法及装置 | |
CN102870116B (zh) | 内容匹配方法和装置 | |
CN104360865A (zh) | 一种序列化方法、反序列化方法及相关设备 | |
CN102662683A (zh) | 基于键-值对格式的通信设备配置文件的生成和导入方法 | |
CN102609462A (zh) | 一种通过提取sql模板对海量sql压缩存储的方法 | |
CN103714086A (zh) | 用于生成非关系数据库的模式的方法和设备 | |
CN102402542A (zh) | 一种视频标签方法及系统 | |
US9830326B2 (en) | Identifying data offsets using binary masks | |
CN109271456A (zh) | 主机数据库文件导出方法及装置 | |
CN103186610B (zh) | 数据同步方法和装置 | |
CN110895548B (zh) | 用于处理信息的方法和装置 | |
CN107766036A (zh) | 一种模块的构建方法、构建装置及终端设备 | |
CN107368500B (zh) | 数据抽取方法及系统 | |
CN104462095A (zh) | 一种查询语句公共部分的提取方法及装置 | |
CN106506178A (zh) | 一种用于为主播精准引流的方法和系统 | |
CN104572730B (zh) | 数字资源导入、导出方法及装置 | |
CN102984396B (zh) | 活跃用户数统计方法及装置 | |
CN103440231A (zh) | 用于比较文本的设备和方法 | |
CN103092607A (zh) | 一种电信话单数据编解码方法 | |
CN110008236A (zh) | 一种数据分布式自增编码方法、系统、设备及介质 | |
CN102855255A (zh) | 内容管理发布方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent for invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16 Applicant after: SI-TECH Information Technology Ltd. Address before: 100085 Haidian District, Zhongguancun, South Street, No. 6,, building information, floor, No. 16 Applicant before: Beijing Digital China SI-TECH Information Technology Co., Ltd. |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: BEIJING DIGITAL CHINA SI-TECH INFORMATION TECHNOLOGY LTD. TO: BEIJING SI-TECH INFORMATION TECHNOLOGY LTD. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |