【技术实现步骤摘要】
一种模型文件的生成方法和装置
本专利技术涉及计算机领域,尤其涉及一种模型文件的生成方法和装置。
技术介绍
在IOS应用程序(Application,APP)的开发联调过程中,如果服务端接口返回的数据是json(javascriptobjectnotation)数据,APP端需要按照json格式手动创建模型(Model)文件以及模型文件内的属性,然后再通过第三方框架,比如YYModel等来进行转换,以按照模型信息来展示数据。其中,json是一种轻量级的数据交换格式,YYModel是一个轻量级的json模型自动转换库。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:现有技术需要人工分析,并手动创建模型文件。在接口返回的json数据比较多的情况下,上述方式创建模型文件的效率低、准确度低,进而导致APP开发效率低。
技术实现思路
有鉴于此,本专利技术实施例提供一种模型文件的生成方法和装置,通过调用入口函数,传入包括目标数据和模型文件名称的输入参数,以根据传入参数自动生成模型文件,减少模型文件的创建时间、准确度高,同时提升开发效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种模型文件的生成方法。本专利技术实施例的一种模型文件的生成方法,包括:调用入口函数,在调用所述入口函数时,传入输入参数;其中,所述输入参数包括目标数据和模型文件名称;解析所述目标数据,将解析出的对象按照对象类型存储到创建的类名文件和类对象文件;遍历所述类对象文件的元素,根据所 ...
【技术保护点】
1.一种模型文件的生成方法,其特征在于,包括:/n调用入口函数,在调用所述入口函数时,传入输入参数;其中,所述输入参数包括目标数据和模型文件名称;/n解析所述目标数据,将解析出的对象按照对象类型存储到创建的类名文件和类对象文件;/n遍历所述类对象文件的元素,根据所述元素的数据类型以及所述类名文件,按照设定的文件格式生成与所述模型文件名称相对应的模型文件。/n
【技术特征摘要】
1.一种模型文件的生成方法,其特征在于,包括:
调用入口函数,在调用所述入口函数时,传入输入参数;其中,所述输入参数包括目标数据和模型文件名称;
解析所述目标数据,将解析出的对象按照对象类型存储到创建的类名文件和类对象文件;
遍历所述类对象文件的元素,根据所述元素的数据类型以及所述类名文件,按照设定的文件格式生成与所述模型文件名称相对应的模型文件。
2.根据权利要求1所述的方法,其特征在于,所述类对象文件包括类名属性和类别属性;
所述将解析出的对象按照对象类型存储到创建的类名文件和类对象文件,包括:
如果所述对象不是数组或者字典,则将初始化的临时字典作为所述类别属性添加到所述类对象文件;
如果所述对象是数组,则去除所述数组中的非字典类型数据,把去除后的数据合并为第一新字典,遍历所述第一新字典中的键,根据键值类型将所述第一新字典存储到创建的类名文件和类对象文件;
如果所述对象是字典,则遍历所述字典中的键,根据键值类型将所述字典存储到创建的类名文件和类对象文件。
3.根据权利要求2所述的方法,其特征在于,所述输入参数还包括:子模型后缀名;根据键值类型将所述字典存储到创建的类名文件和类对象文件,包括:
如果键值类型为空或者字符串,则将所述键作为所述临时字典的键,所述临时字典的值对应为空或者所述字符串,将所述临时字典作为所述类别属性添加到所述类对象文件中;
如果所述键值类型为字典,则将所述键与所述子模型后缀名进行拼接得到第一拼接字符串,遍历所述类名文件中是否存在所述第一拼接字符串,如果存在,则在所述第一拼接字符串中添加第一标识得到第一新拼接字符串,在遍历完成后,将所述第一拼接字符串或者所述第一新拼接字符串添加到所述类名文件;
将所述键作为所述临时字典的键,所述临时字典的值为所述第一拼接字符串或者所述第一新拼接字符串,将所述临时字典作为所述类别属性添加到所述类对象文件中。
4.根据权利要求2所述的方法,其特征在于,所述输入参数还包括:子模型后缀名;根据键值类型将所述字典存储到创建的类名文件和类对象文件,包括:
如果所述键值类型为数组,则去除所述数组中的非字典类型数据,把去除后的数据合并为第二新字典,如果所述第二新字典为空,则将所述键作为所述临时字典的键,所述临时字典的值为设定字符串;
如果所述第二新字典不为空,则将所述键与所述子模型后缀名进行拼接得到第二拼接字符串,遍历所述类名文件中是否存在所述第二拼接字符串,如果存在,则在所述第二拼接字符串中添加第一标识得到第二新拼接字符串,在遍历完成后,将所述第二拼接字符串或者所述第二新拼接字符串添加到所述类名文件;
将所述键作为所述临时字典的键,所述临时字典的值为所述第二拼接字符串或者所述第二新拼接字符串与所述设定字符串的拼接,将所述临时字典作为所述类别属性添加到所述类对象文件中。
5.根据权利要求2所述的方法,其特征在于,所述输入参数还包括:子模型后缀名;根据键值类型将所述字典存储到创建的类名文件和类对象文件,包括:
如果所述键值类型为其他类型,获取类描述字符串,如果所述类描述字符串包含NSCFBoolean字符串,则将所述键作为所述临时字典的键,所述临时字典的值为布尔字符串;其中,所述其他类型为除空、字符串、字典和数组之外的类型;
如果所述类描述字符串包含NSCFNumb...
【专利技术属性】
技术研发人员:徐记军,于学良,尹华东,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。