【发明公布】一种将JSON文件转换为DLL文件的方法及装置_福建星云电子股份有限公司_201910314155.5 

申请/专利权人:福建星云电子股份有限公司

申请日:2019-04-18

发明/设计人:汤平;刘作斌;林松青;陈禹;鲍美芳

公开(公告)日:2019-08-23

代理机构:福州市鼓楼区京华专利事务所(普通合伙)

公开(公告)号:CN110162307A

代理人:林云娇

主分类号:G06F8/41(20180101)

地址:350000 福建省福州市马尾区快安马江大道石狮路6号1-4#楼

分类号:G06F8/41(20180101);G06F8/51(20180101)

优先权:

专利状态码:在审-公开

法律状态:2019.08.23#公开

摘要:本发明提供一种将JSON文件转换为DLL文件的方法,包括接收输入的制造执行系统提供的JSON数据格式文本;将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;将数据信息按照类的排版格式进行排版,并获取排版结果;调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。本发明还提供一种方法所对应的装置。本发明优点:具有最小的系统依赖性,容易部署,简单小巧便捷等优点;同时,由于程序化了操作,使得JSON数据格式的数据信息进行类Class的排版操作简单;也使最终生成的DLL文件结果可适用于其它程序的调用。

主权项:1.一种将JSON文件转换为DLL文件的方法,其特征在于:所述方法包括如下步骤:步骤S1、接收输入的制造执行系统提供的JSON数据格式文本;步骤S2、将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;步骤S3、读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;步骤S4、将数据信息按照类的排版格式进行排版,并获取排版结果;步骤S5、调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。

全文数据:一种将JSON文件转换为DLL文件的方法及装置技术领域本发明涉及文档数据处理领域,尤其涉及一种将JSON文件转换为DLL文件的方法及装置。背景技术JSONJavaScriptObjectNotation作为一种轻量级的数据交换格式,在程序开发过程中经常会被用到。JSON是基于ECMAScript的一个子集,JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯包括C、C++、C#、Java、JavaScript、Perl、Python等,这些特性使JSON成为理想的数据交换语言,易于人阅读和编写,同时也易于机器解析和生成。目前,制造执行系统MES需要上传的数据格式很多都为JSON格式,而使用C#编程语言开发过程中,对JSON数据格式的操作需要进行数据转换,转换为类Class是比较方便操作的一种方式。C#编程语言中类Class实际上是对某种类型的对象定义变量和方法的原型,它表示对现实生活中一类具有共同特征的事物的抽象,是面向对象编程的基础。但类Class文本是无法被程序所使用,它需要通过编译成DLLEXE等格式的文件后才能被程序所使用。对于程序开发人员来说,要将JSON数据格式转换成DLL格式文件,现在业界比较流行的几种转换为DLL格式文件的方案包括:方案一、人工方式,先分析JSON格式数据,再根据分析的结果编写类Class文本,最后再通过编译器将类Class文本编译成DLL文件;方案二、使用第三方工具方式,复制JSON格式数据,在VisualStudio中使用选择性粘贴,将JSON粘贴为类Class文本,最后再将类Class文本编译成DLL文件。以上2种生成DLL文件的方法虽然较为流行,但是在特定场合还是会体现出一些不足,下面列举一些:方案一的缺点:人工分析JSON需要花费一定时间和精力,再手动写出类Class文本,这期间容易产生命名不规范等错误,当遇到JSON数据格式比较复杂时,就花费更多时间,且错误率会加大。方案二的缺点:在使用了动态编译技术的程序中,使用第三方工具需要商业授权,这就会增加费用成本,且不同软件切换会给使用者用带来不友好的用户体验。发明内容本发明要解决的技术问题,在于提供一种将JSON文件转换为DLL文件的方法及装置,可方便软件开发人员在开发与制造执行系统MES交互的软件操作,用以解决以往将JSON数据格式转换成DLL文件时需要专业人员来操作的问题,以及需要借助于第三方工具的问题。本发明是这样实现的:一种将JSON文件转换为DLL文件的方法,所述方法包括如下步骤:步骤S1、接收输入的制造执行系统提供的JSON数据格式文本;步骤S2、将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;步骤S3、读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;步骤S4、将数据信息按照类的排版格式进行排版,并获取排版结果;步骤S5、调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。进一步地,所述步骤S2具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。进一步地,所述步骤S3具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。进一步地,所述步骤S4具体为:将遍历读取出的所有数据信息按照类的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类的名称,将该父节点的子节点的节点名称的首字母大写后作为类的属性,并根据该父节点的子节点的节点值判断出类的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。进一步地,所述步骤S5具体包括:步骤S51、根据类的类型信息,创建编译器对象;步骤S52、根据类的引用信息,创建并设置编译参数对象;步骤S53、根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。本发明是这样实现的:一种将JSON文件转换为DLL文件的装置,所述装置包括JSON读取模块、格式转换模块、XML读取模块、排版模块以及生成模块;所述JSON读取模块,用于接收输入的制造执行系统提供的JSON数据格式文本;所述格式转换模块,用于将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;所述XML读取模块,用于读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;所述排版模块,用于将数据信息按照类的排版格式进行排版,并获取排版结果;所述生成模块,用于调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。进一步地,所述格式转换模块具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。进一步地,所述XML读取模块具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。进一步地,所述排版模块具体为:将遍历读取出的所有数据信息按照类的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类的名称,将该父节点的子节点的节点名称的首字母大写后作为类的属性,并根据该父节点的子节点的节点值判断出类的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。进一步地,所述生成模块具体包括编译器创建单元、参数设置单元以及结果生成单元;所述编译器创建单元,用于根据类的类型信息,创建编译器对象;所述参数设置单元,用于根据类的引用信息,创建并设置编译参数对象;所述结果生成单元,用于根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。本发明具有如下优点:本发明通过在界面输入框输入制造执行系统MES提供的JSON数据格式文本,自动生成对应的可供开发人员使用的DLL文件,具有最小的系统依赖性,容易部署,简单小巧便捷等优点;同时,由于程序化了操作,使得JSON数据格式的数据信息进行类Class的排版操作简单;也使最终生成的DLL文件结果可适用于其它程序的调用。附图说明下面参照附图结合实施例对本发明作进一步的说明。图1为本发明一种将JSON文件转换为DLL文件的方法的执行流程图。具体实施方式请参阅图1所示,本发明一种将JSON文件转换为DLL文件的方法,其特征在于:所述方法包括如下步骤:步骤S1、接收输入的制造执行系统MES提供的JSON数据格式文本;步骤S2、将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;步骤S3、读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;步骤S4、将数据信息按照类的排版格式进行排版,并获取排版结果;步骤S5、调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。在所述步骤S1中,制造执行系统MES提供的JSON数据格式文本是一种消息范文,只有严格遵守该数据格式发送JSON数据给制造执行系统MES才能获得制造执行系统MES的正确回应。例如,本实施例中制造执行系统MES提供的JSON数据可以是如下格式:{stu:[{"name":"张三","address":"XX市东城区","age":25,"book":[{"name":"语文"},{"name":"数学"}],"score":{"English":"90"}},{"name":"李四","address":"xx市西城区","age":22}]}。所述步骤S2具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。例如,本实施例中转换成XML数据格式文本可以是如下格式:其中,XML数据格式为:XML可扩展标记语言EXtensibleMarkupLanguage,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言;XML与操作系统、编程语言和开发平台无关,可实现不同系统、不同语言之间的数据交互。Newtonsoft.Json函数库为:Newtonsoft.Json,它是一款.NET中开源的Json序列化和反序列化类库下载地址为http:json.codeplex.com。所述步骤S3具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类Class的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类Class的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类Class的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类Class的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。在XML数据格式文本中,可将位于XML数据格式文本的节点信息用于生成的类Class的属性名称信息,可将位于XML数据格式文本的节点值用于生成的类Class的属性类型信息,可将XML数据格式文本的父节点名称用于生成的一个自定义类Class,一个父节点中的数据信息用于生成该自定义类Class及该类的属性,如果还有子节点则继续遍历读取,直到所有节点都遍历读取完成。本发明充分利用了XML数据格式的节点特性:子节点对应类的属性,父节点对应类;该实现方法简单易操作,大大简化了生成类Class文本的过程和降低了生成类Class文本的难度。XML数据格式文本中的节点为:XML文件都是由节点构成的,它的第一个节点为“根节点”。一个XML文件必须有且只能有一个根节点,其他节点都必须是它的子节点;每个子节点又可以有自己的子节点,且每个节点都有节点名称和节点值。下面结合具体实施例来对XML数据格式文本做详细说明,例如XML数据格式文本的具体内容为:整个XML数据格式文本,分为一个“根节点”和若干个“子节点”,其中每个子节点又可以有自己的子节点,即该子节点称为其子节点的父节点。其中父节点信息中包含了将要生成的类Class的信息,每个节点的节点名称和节点值信息中包含了将要生成的类Class的属性信息。所述步骤S4具体为:将遍历读取出的所有数据信息按照类Class的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类Class的名称,将该父节点的子节点的节点名称的首字母大写后作为类Class的属性,并根据该父节点的子节点的节点值判断出类Class的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。下面以一个简单的XML数据格式文本为例子,对将XML数据格式文本按照类Class的排版格式进行排版的过程进行详细说明:例如,有一个XML数据格式文本:其中,XML数据格式文本中的‘student’是其根节点也是一个父节点,代表一个类Class的信息,本发明中,将节点信息里面的节点名称和节点值表示为要生成的类Class的属性。在上述例子中,类Class的名称为父节点名称的首字母大写,即:Student,该Student类有姓名、地址、年龄三个属性;属性信息分别是:属性名称:name,属性类型:字符型;属性名称:address,属性类型:字符型;属性名称:age,属性类型:整型;上述XML数据格式文本中,…为一个父节点,其节点名称为‘student’,其节点值为三个子节点,三个子节点分别为…、…、…。其中…节点的节点名称为‘name’,其节点值为‘张三’;…节点的节点名称为‘address’,其节点值为‘XX市西城区’;…节点的节点名称为‘age’,其节点值为22。对应到类Class中为一个名为‘Student’的学生模型类,其有三个属性,分别为name姓名、address地址和age年龄,其中name姓名和address地址为字符型String,age年龄为整型Int32。其表示文本如下:下面以步骤S2生成的XML数据格式文本为例,对将XML数据格式文本按照类Class的排版格式进行排版的过程再进行详细说明:其中,XML数据格式文本的‘Root’是其根节点也是一个父节点,代表一个类Class的信息,本发明中,将节点信息里面的节点名称和节点值表示为要生成的类Class的属性。在该例子中,父节点分别为:…、…、…、…,对应的类Class的名称为Root、Stu、Book、Score,再根据这些父节点的子节点信息,可以得出属性信息;其中,Root类属性信息是:属性名称:stu,属性类型:自定义类型Stu;其中,Stu类属性信息是:属性名称:name,属性类型:字符型;属性名称:address,属性类型:字符型;属性名称:age,属性类型:整型;属性名称:book,属性类型:自定义类型Book;属性名称:score,属性类型:自定义类型Score;其中,Book类属性信息是:属性名称:name,属性类型:字符型;其中,Score类属性信息是:属性名称:English,属性类型:浮点型型;自定义类型为:一般系统数据类型有整型,字符型,浮点型等。C#编程语言中对于一般的系统数组类型,用户还可以定义自己的数据类型,相同的数据类型往往有着相同的大小和编码方式。数组和集合都是一种比较特殊的数据类型。接下来,还要根据同级中同名称节点出现的次数来判断是否是数组类型,还是以上述文件为例:…,这个节点在…节点下出现两次,由于类Class的定义中规定,同一类型的属性名称不可重复,故要将…节点对应的属性设置成数组方式来表示。所以修改Root类属性信息为:属性名称:stu,属性类型:自定义类型集合IList;…,这个节点在…节点下出现两次,由于类Class的定义中规定,同一类型的属性名称不可重复,故要将…节点对应的属性设置成数组方式来表示。所以修改Stu类属性信息为:属性名称:book,属性类型:自定义类型集合IList;因此,通过修改类的属性类型后内容如下:其中,Root类属性信息是:属性名称:stu,属性类型:自定义类型集合IList;其中,Stu类属性信息是:属性名称:name,属性类型:字符型;属性名称:address,属性类型:字符型;属性名称:age,属性类型:整型;属性名称:book,属性类型:自定义类型集合IList;属性名称:score,属性类型:自定义类型Score;其中,Book类属性信息是:属性名称:name,属性类型:字符型;其中,Score类属性信息是:属性名称:English,属性类型:双精度类型。由于在C#编程语言的语法中,类Class的表示形式为:因此,将上述文件中保存的四个类的类名和类的属性信息按照类Class的排版格式进行排版后得出的四个类结果如下:所述步骤S5具体包括:步骤S51、根据类的类型信息,创建编译器对象;步骤S52、根据类的引用信息,创建并设置编译参数对象;步骤S53、根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。由于在步骤S4中生成类Class的文本信息无法被应用程序所使用,它需要通过编译成DLLEXE等格式的文件后才能被应用程序所使用。通过调用C#编译语言的函数库动态编译类Class的文本信息后即可生成DLLEXE格式的文件并保存到指定路径。同时,为了使编译生成的DLL文件可以被外部所引用,还需要为生成的类Class加上命名空间。生成的类Class中有对属性的类型的描述,但生成的类Class不包含类型的定义,想要通过编译,则需要添加using指示符,引用System命名空间,该空间中包含了系统常见类型的定义。故需要将步骤S4产生的类Class文本做如下修改:修改点为在类Class文本头位置加入了‘usingXXX’;using指示符,引用System命名空间和System.Collections.Generic命名空间,在步骤S4生成的四个类的外围加了‘namespaceNebulaNameSpace’的命名空间并用大括号包起来。命名空间为:namespace,即命名空间,是指标识符的各种可见范围。C#编程语言中采用的是单一的全局变量命名空间,在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。using指示符为:using指示符使名字空间成员名可见,就好像它们是在名字空间被定义的地方之外被声明的一样;using指示符并没有为名字空间成员的名字声明局部的别名,而是把名字空间的成员转移到包含该名字空间定义的那个域中;可以使用程序开头的using编译指示来使用命名空间中的名字。System是.NET平台框架提供的最基本的命名空间之一。下面对如何调用C#编程语言中的函数库来将排版结果生成DLL文件做详细的说明:第一步,创建编译器对象;例如:CodeDomProviderprovider=CodeDomProvider.CreateProvider"cs";根据指定语言创建编译器对象;例如,在本发明实施例中,生成的指定语言的名称为"cs",说明要编译的代码是C#语言格式。第二步,创建并设置编译参数对象;例如:CompilerParametersp=newCompilerParameters;p.ReferencedAssemblies.Add"System.dll";参数值"System.dll"说明参数中添加该参数,在类Class文本头位置加入了‘usingSystem’;引用System命名空间,该程序集位于‘System.dll’中,将文件名称以参数形式明确传入编译器。第三步,根据指定的保存路径,创建DLL对象。例如,设置编译参数的输出位置,然后进行动态编译,方式如下:设置参数的输出位置信息,将生成的文件保存于"C:\MesData.dll"路径中;p.OutputAssembly="C:\MesData.dll";调用编译器的’CompileAssemblyFromSource’编译方法进行编译provider.CompileAssemblyFromSourcep,csStr;编译器对象"provider"为第一步创建的C#语言编译器对象,第一个参数值"p"为第二步创建的编译参数,第三个参数"csStr"为步骤S5中最终修改的类Class文本。通过以上步骤即实现了调用C#函数将排版好的类Class的文件转换为DLL文件。在上述方法中,若使用VisualStudio等第三方工具也能达到同样的效果,但在使用了动态编译技术的程序中,使用第三方工具需要授权,容易产生命名不规范的错误,且会给使用者用带来不友好的用户体验。另外,使用该方法后,程序开发人员要将JSON数据格式转换成类Class,就无需人工分析JSON格式后再编写类Class,减少了开发时间和精力,降低犯错误概率。在使用了动态编译技术的程序中,使用该方法后,可替代第三方工具,减少购买授权成本。也可以很好的控制命名规范,使用起来也更加方便。当要转换的JSON文件较多时,可用此方法,具有更好的工作效率。在具体使用时,本发明提供的将JSON文件转换为DLL文件的方法,可看成是一个轻量级编译工具,操作人员只需将制造执行系统MES中需求的JSON数据格式的范文复制到该编译工具的输入框中,然后点击按钮执行数据转换,就可以通过输出窗口查看到数据转换结果操作人员可以通过输出窗口检查转换的结果数据是否符合预期,如不符合预期则可进行修改,同时会将最终生成的DLL文件保存到指定的目录中。该方法中通过界面输入框输入制造执行系统MES提供的JSON数据格式文本,自动生成对应的可供开发人员使用的DLL文件,具有最小的系统依赖性,容易部署,简单小巧便捷等优点;同时,由于程序化了操作,使得JSON数据格式的数据信息进行类Class的排版操作简单;也使最终生成的DLL文件结果可适用于其它程序的调用。基于相同的发明构思,本发明还提供一种将JSON文件转换为DLL文件的装置,所述装置包括JSON读取模块、格式转换模块、XML读取模块、排版模块以及生成模块;所述JSON读取模块,用于接收输入的制造执行系统提供的JSON数据格式文本;所述格式转换模块,用于将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;所述XML读取模块,用于读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;所述排版模块,用于将数据信息按照类的排版格式进行排版,并获取排版结果;所述生成模块,用于调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。所述格式转换模块具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。所述XML读取模块具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。所述排版模块具体为:将遍历读取出的所有数据信息按照类的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类的名称,将该父节点的子节点的节点名称的首字母大写后作为类的属性,并根据该父节点的子节点的节点值判断出类的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。所述生成模块具体包括编译器创建单元、参数设置单元以及结果生成单元;所述编译器创建单元,用于根据类的类型信息,创建编译器对象;所述参数设置单元,用于根据类的引用信息,创建并设置编译参数对象;所述结果生成单元,用于根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。本发明装置是参照本发明具体实施例的方法和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

权利要求:1.一种将JSON文件转换为DLL文件的方法,其特征在于:所述方法包括如下步骤:步骤S1、接收输入的制造执行系统提供的JSON数据格式文本;步骤S2、将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;步骤S3、读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;步骤S4、将数据信息按照类的排版格式进行排版,并获取排版结果;步骤S5、调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。2.根据权利要求1所述的一种将JSON文件转换为DLL文件的方法,其特征在于:所述步骤S2具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。3.根据权利要求1所述的一种将JSON文件转换为DLL文件的方法,其特征在于:所述步骤S3具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。4.根据权利要求1所述的一种将JSON文件转换为DLL文件的方法,其特征在于:所述步骤S4具体为:将遍历读取出的所有数据信息按照类的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类的名称,将该父节点的子节点的节点名称的首字母大写后作为类的属性,并根据该父节点的子节点的节点值判断出类的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。5.根据权利要求1所述的一种将JSON文件转换为DLL文件的方法,其特征在于:所述步骤S5具体包括:步骤S51、根据类的类型信息,创建编译器对象;步骤S52、根据类的引用信息,创建并设置编译参数对象;步骤S53、根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。6.一种将JSON文件转换为DLL文件的装置,其特征在于:所述装置包括JSON读取模块、格式转换模块、XML读取模块、排版模块以及生成模块;所述JSON读取模块,用于接收输入的制造执行系统提供的JSON数据格式文本;所述格式转换模块,用于将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本;所述XML读取模块,用于读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;所述排版模块,用于将数据信息按照类的排版格式进行排版,并获取排版结果;所述生成模块,用于调用C#编程语言中的函数库来将排版结果生成DLL文件,并保存到指定路径。7.根据权利要求6所述的一种将JSON文件转换为DLL文件的装置,其特征在于:所述格式转换模块具体为:使用Newtonsoft.Json函数库将JSON数据格式文本转换成C#编程语言使用的XML数据格式文本,并获取XML数据格式文本结果。8.根据权利要求6所述的一种将JSON文件转换为DLL文件的装置,其特征在于:所述XML读取模块具体为:使用C#编程语言中的函数库遍历读取XML数据格式文本中的基本元素信息,所述基本元素信息包含用于生成类的数据信息;其中,所述读取XML数据格式文本中的基本元素信息具体包括:读取用于生成类的属性名称信息,所述属性名称信息位于所述XML数据格式文本的节点信息中;读取用于生成类的属性类型信息,所述属性类型信息位于所述XML数据格式的节点值中;读取用于生成类的组成结构信息,所述组成结构信息位于所述XML数据格式的父节点信息中,且一个父节点中的数据信息用于生成一个类文本。9.根据权利要求6所述的一种将JSON文件转换为DLL文件的装置,其特征在于:所述排版模块具体为:将遍历读取出的所有数据信息按照类的排版格式进行排版,具体排版操作包括:将父节点的节点名称的首字母大写后作为类的名称,将该父节点的子节点的节点名称的首字母大写后作为类的属性,并根据该父节点的子节点的节点值判断出类的属性的属性类型;同时,如果该父节点的子节点下面还有下级子节点,则将该父节点的子节点作为父节点,并重复上述排版操作;在完成排版操作后,获取排版结果。10.根据权利要求6所述的一种将JSON文件转换为DLL文件的装置,其特征在于:所述生成模块具体包括编译器创建单元、参数设置单元以及结果生成单元;所述编译器创建单元,用于根据类的类型信息,创建编译器对象;所述参数设置单元,用于根据类的引用信息,创建并设置编译参数对象;所述结果生成单元,用于根据指定的保存路径,创建DLL对象,从而实现将排版结果生成DLL文件并保存到指定路径。

百度查询: 福建星云电子股份有限公司 一种将JSON文件转换为DLL文件的方法及装置

vip会员权益升级
价格优惠/年费监控/专利管家/定制微网站 关闭