掌桥专利:专业的专利平台
掌桥专利
首页

一种根据JSON格式数据生成C#语言源代码的方法

文献发布时间:2023-06-19 09:32:16



技术领域

本发明涉及源代码转换技术领域,尤其涉及一种根据JSON格式数据生成C#语言源代码的方法。

背景技术

图形化编辑器生成的JSON格式数据不是针对某一种固定的编程语言生成,而在软件开发过程中常采用C#语言编程,这样一来图形化编辑器生成的JSON格式数据与C#语言编程不兼容,相互转换易出现语法错误,进而影响程序输出,导致软件开发工作效率低。

发明内容

本发明所解决的技术问题在于提供一种根据JSON格式数据生成C#语言源代码的方法,以解决上述背景技术中的问题。

本发明所解决的技术问题采用以下技术方案来实现:

一种根据JSON格式数据生成C#语言源代码的方法,首先将JSON格式数据依次存储的“名称/值”对的集合,且“名称/值”对之间使用英文逗号分隔,值可以是使用英文双引号修饰的字符串,也可以是使用英文中括号修饰的有序列表,列表项是英文逗号分隔的“名称/值”对或值,有序列表中的列表项是英文逗号分隔的“名称/值”对或值,而后定义与C#语言中格式和数据类型对应的标识符,以与C#语言中的格式和数据类型进行对比,待每次比对完成后在输出中增加一行与之对应C#语言中的格式或数据类型代码,进而完成JSON格式数据生成C#语言源代码;具体步骤如下:

步骤一、定义一组格式标识符,分别对应C#语言中的开始符({)、结束符(})、申明变量、变量赋值、条件(if)、否则(else)、循环(for)以及循环(while);

步骤二、定义另一组数据类型标识符,对应C#语言中的数据类型;

步骤三、从文件或其它渠道读取已生成的JSON格式数据,并获取JSON格式数据中“名称/值”对的集合;

步骤四、将步骤三中获取的“名称/值”对的集合中的名称与步骤一中定义的格式标识符和步骤二中定义的数据类型标识符进行比对:

当名称为步骤一中定义的开始标识符时,在输出中增加一行“{”;

当名称为步骤一中定义的结束标识符时,在输出中增加一行“}”;

当名称为步骤一中定义的申明变量标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项为“名称/值”,在步骤二定义的数据类型标识符中查找有序列表中列表项的名称对应的数据类型,完成比对后在输出中增加一行“有序列表中列表项的名称对应的数据类型 有序列表的列表项值;”;

当名称为步骤一中定义的变量赋值标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项为“名称/值”,在输出中增加一行“有序列表的列表项名称=有序列表的列表项值;”;

当名称为步骤一中定义的条件(if)标识符时,在输出中增加一行“if(值)”;

当名称为步骤一中定义的否则(else)标识符时,在输出中增加一行“else”;

当名称为步骤一中定义的循环(for)标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项是英文逗号分隔的值,在输出中增加一行“for(列表项1; 列表项2; 列表项3)”;

当名称为步骤一中定义的循环(while)标识符时,在输出中增加一行“while(值)”;

步骤五、重复执行步骤四,直至所有JSON格式数据生成C#语言源代码。

有益效果:本发明中将获取JSON格式数据储存为“名称/值”对的集合,而后定义与C#语言中格式和数据类型对应的标识符,以与C#语言中的格式和数据类型进行对比,进而完成JSON格式数据生成C#语言源代码,有效降低语法错误,提高软件开发的工作效率。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。

一种根据JSON格式数据生成C#语言源代码的方法,所述JSON格式数据由图形化编辑器生成,其内容为依次存储的“名称/值”对的集合,且“名称/值”对之间使用英文逗号分隔,值可以是使用英文双引号修饰的字符串,也可以是使用英文中括号修饰的有序列表,有序列表中的列表项是英文逗号分隔的“名称/值”对或值,而后定义与C#语言中格式和数据类型对应的标识符,以与C#语言中的格式和数据类型进行对比,待每次比对完成后在输出中增加一行与之对应C#语言中的格式或数据类型代码,进而完成JSON格式数据生成C#语言源代码;具体步骤如下:

步骤一、定义一组格式标识符,分别对应C#语言中的开始符({)、结束符(})、申明变量、变量赋值、条件(if)、否则(else)、循环(for)以及循环(while);

步骤二、定义另一组数据类型标识符,对应C#语言中的数据类型;

步骤三、从文件或其它渠道读取已生成的JSON格式数据,并获取JSON格式数据中“名称/值”对的集合;

步骤四、将步骤三中获取的“名称/值”对的集合中的名称与步骤一中定义的格式标识符和步骤二中定义的数据类型标识符进行比对:

当名称为步骤一中定义的开始标识符时,在输出中增加一行“{”;

当名称为步骤一中定义的结束标识符时,在输出中增加一行“}”;

当名称为步骤一中定义的申明变量标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项为“名称/值”,在步骤二定义的数据类型标识符中查找有序列表中列表项的名称对应的数据类型,完成比对后在输出中增加一行 “有序列表中列表项的名称对应的数据类型 有序列表的列表项值;”;

当名称为步骤一中定义的变量赋值标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项为“名称/值”,在输出中增加一行“有序列表的列表项名称=有序列表的列表项值;”;

当名称为步骤一中定义的条件(if)标识符时,在输出中增加一行“if(值)”;

当名称为步骤一中定义的否则(else)标识符时,在输出中增加一行“else”;

当名称为步骤一中定义的循环(for)标识符时,则对“名称/值”对中的值进行分解,此时的值为有序列表,有序列表的列表项是英文逗号分隔的值,在输出中增加一行“for(列表项1; 列表项2; 列表项3)”;

当名称为步骤一中定义的循环(while)标识符时,在输出中增加一行“while(值)”;

步骤五、重复执行步骤四,直至所有JSON格式数据生成C#语言源代码。

相关技术
  • 一种根据JSON格式数据生成C#语言源代码的方法
  • 一种基于C#语言的二维可视化图层设备显示控制方法及系统
技术分类

06120112204548