【发布时间】:2014-04-22 14:15:03
【问题描述】:
所以我觉得这是我以前见过的东西,但我想不出它叫什么。
我有一个 java 程序,它从文件中加载一个对象(我将把这个对象称为目录)。定义文件格式并为其编写解析器花费了相当多的时间。最近我有一些开发人员想要加载文件,以便他们可以将目录用于他们自己的工具,但他们正在使用不同的语言(目前只是 C#,但将来可能会使用其他语言)。
我们的大多数工具都在服务器上运行,因此为了防止其他人不得不为文件格式编写自己的解析器,我计划运行一个 Web 服务,它使用我的程序加载目录,然后返回它的内容作为 json 字符串。 (将原始文件编码为 json 不是一种选择)。将来我可能只返回 json 字符串的一部分,因为文件的全部内容可能非常庞大。
我想知道的是,我是否必须用每种语言编写我的目录对象,并用该语言为它编写一个 json 解析器,还是有一个工具可以让我做类似的事情?我希望有一种简单的格式来声明存储类,为各种语言生成相应的代码,并为 json 之类的东西提供默认的序列化/反序列化。目前我需要它来支持 java 和 C#。
这样的事情存在吗?
【问题讨论】:
-
我不认为没有内置或第三方的 Json 库的语言。
-
与其说是解析 json,不如说是,如果可能的话,我不想编写/更新存储类,以及从每种语言中解析的 json 填充它的代码.您可以想象,一旦它支持一种以上的语言,就会存在潜在的错误,即某些实现包含变量/代码来填充这些,而有些则不包含,直到运行时才会显示。如果我有一个工具可以自动生成存储类的代码,并且为了填充它,我只需说出存储类有哪些成员