一种可配置JSON转数据库的方法与流程

文档序号:20684007发布日期:2020-05-08 18:40阅读:658来源:国知局
本发明涉及json转数据库
技术领域
:,特别是一种可配置json转数据库的方法。
背景技术
::json(javascriptobjectnotation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在js语言中,一切都是对象,因此,任何支持的类型都可以通过json来表示,json键值对是用来保存js对象的一种方式,和js对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号""包裹,使用冒号;分隔,然后紧接着值。传统解析json数据的方法,先通过key,找value;再把value整到sql语句执行读写操作。很多人不理解json和js对象的关系,甚至连两者的概念都弄不清楚,导致转换json转换数据库难度加大,因此目前的json转数据库方法存在以下问题:1)json对象关系搞不清楚,导致开发难度加大;2)需要非常熟悉sql语句才能完成;3)不同策略转换数据库,需要多次开发并解析json策略,在封装成相应数据库语句并执行。技术实现要素:本发明为解决上述技术问题,提供一种可配置json转数据库的方法,以简化json对象关系,降低开发难度,加快开发效率,通过配置文件达到json解析转换数据库保存,不用重复解析数据的目的。为实现上述目的,本发明采用的技术方案为:一种可配置json转数据库的方法,包括:先建立配置文件、json数据库源和数据库,所述配置文件用于配置json对象与数据库表结构、字段名称、字段类型对应关系,所述json数据库源为待转换json数据源;所述数据库用于存放转换json后的实际数据;配置过程:s1、首先提供一个前述的配置文件,配置文件包含以下内容:a、配置tablecount表示要保存数据库表总数;b、表结构说明,包括数据库表名、表字段总数、字段名、字段类型、json对象名称、数据库表字段类型;s2、根据数据库表名找到相应字段名称和字段数据;s3、建立json的key值、数据库表名、数据库字段名称关联关系,从而组装一个完整的sql语句,再执行相应的读写操作,将json数据源从json数据库源转换到所述数据库。进一步的,所述配置文件具体包含以下内容:a、配置tablecount表示要保存数据库表总数,包括:[tablelist]tablecountb、表结构说明#tablename-数据库表名;#fieldcount-表字段总数;#fieldname_*-字段名称;#fieldtype_*-字段类型;#fieldjson_*-json对象名称;#数据库表字段类型:#1-dword#2-double#3-string2。采用上述技术方案后,相比于现有技术,本发明的有益效果为:本发明通过配置文件配置json对象与数据库表结构、字段对应关系,从而把json对应键值保存到相应数据库的表结构数据,即通过配置文件可转换json数据为数据库,还简化了解析json对象和组装sql语句,通过修改配置文件便可解析多张json转数据库表,即使json名称调整、新增、我们都可以通过修改配置文件达到目的,进而降低开发难度,加快了开发效率。附图说明图1是本发明一种可配置json转数据库的方法的流程图。具体实施方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。如图1所示,本发明揭示的一种可配置json转数据库的方法,其包括以下步骤:先建立配置文件、json数据库源和数据库,所述配置文件用于配置json对象与数据库表结构、字段名称、字段类型对应关系,所述json数据库源为待转换json数据源;所述数据库用于存放转换json后的实际数据;配置过程:s1、首先提供一个前述的配置文件,配置文件包含以下内容:a、配置tablecount表示要保存数据库表总数,也即把json转换为数据库表个数;b、表结构说明,包括数据库表名、表字段总数、字段名、字段类型、json对象名称、数据库表字段类型;s2、根据数据库表名找到相应字段名称和字段数据;s3、建立json的key值、数据库表名、数据库字段名称关联关系,从而组装一个完整的sql语句,再执行相应的读写操作,将json数据源从json数据库源转换到所述数据库。进一步的,所述配置文件具体包含以下内容:a、配置tablecount表示要保存数据库表总数(也就是把json转换为数据库表个数,包括:[tablelist]tablecountb、表结构说明#tablename-数据库表名;#fieldcount-表字段总数;#fieldname_*-字段名称;#fieldtype_*-字段类型;#fieldjson_*-json对象名称;#数据库表字段类型:#1-dword#2-double#3-string2。表结构例子:[table_x]表示第x张数据库表;tablename表示数据库表名和第一级json对象名称;fieldcount表字段个数;fieldname_x表示第x个字段名称;fieldtype_x,其中x如果是1表示整形,3表示字符;fieldjson_x,表示json对象。根据所述sql语句执行相应的读写操作便可从数据库的表结构数据中获得json对象。通过以上配置,可以知道从从json中解析出几张数据库表,然后在根据表名找到相应字段名称和字段数据,这样便可以建立json的key值、表名、数据库字段名称关联关系,从而组装一个完整的sql语句,在执行相应的读写操作,这样解析多张json转数据库表,只要通过修改相应配置文件就行,即使json名称调整、新增,都可以通过修改配置文件达到目的。以下以实例进一步说明本发明配置json转数据库的方法流程。1、建立数据库配置文件如下:[tablelist]tablecount=1[table_1]tablename=diskcontrolismultiplerecords=1multippolicykey=diskcontrolstrategypolicykeyfieldcount=3fieldname_1=disktypefieldtype_1=1fieldjson_1=disktypefieldname_2=canexerunfieldtype_2=1fieldjson_2=canexerunfieldname_3=canautorunfieldtype_3=1fieldjson_3=canautorunjson配置如下:"diskcontrolstrategy":[{"disktype":2,"canexerun":1,"canautorun":1},{"disktype":3,"canexerun":1,"canautorun":1}]2、如上述配置文件转换过程如下:21、tablecount表示需要转换数据库表总数;22、table_1表示第一张表配置文件文件;23、tablename表示第一张表数据库表名;24、ismultiplerecords表示json文件是否有多条记录;25、multippolicykey表示json第一级key值,对应第一张表数据库表名称,这个不需要跟数据库表名一致,可灵活自定义;26、fieldcount表示第一张表字段总数;27、fieldname_1表示第一张表第一个数据库字段名称;28、fieldtype_1表示第一张表第一个数据库字段类型;29、fieldjson_1表示第一张表第一个数据库字段名称对应json文件中key值;30、从上述配置我们可以解析出json文件第一级key值对应我们数据库表名;从数据库配置文件中ismultiplerecords得知记录是否有多条;若多条时,第二级key值对应数据库表字段名称,第二级key值对应value值对应我们数据库数据;3、上述配置可转换成两个sql语句如下:“insertintodiskcontrol(disktype,canexerun,canautorun)values(2,1,1)”;“insertintodiskcontrol(disktype,canexerun,canautorun)values(3,1,1)”。再根据sql语句执行相应的读写操作,将json数据源从json数据库源转换到所述数据库。上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1