【问题标题】:Language independent storage class?语言无关的存储类?
【发布时间】:2014-04-22 14:15:03
【问题描述】:

所以我觉得这是我以前见过的东西,但我想不出它叫什么。

我有一个 java 程序,它从文件中加载一个对象(我将把这个对象称为目录)。定义文件格式并为其编写解析器花费了相当多的时间。最近我有一些开发人员想要加载文件,以便他们可以将目录用于他们自己的工具,但他们正在使用不同的语言(目前只是 C#,但将来可能会使用其他语言)。

我们的大多数工具都在服务器上运行,因此为了防止其他人不得不为文件格式编写自己的解析器,我计划运行一个 Web 服务,它使用我的程序加载目录,然后返回它的内容作为 json 字符串。 (将原始文件编码为 json 不是一种选择)。将来我可能只返回 json 字符串的一部分,因为文件的全部内容可能非常庞大。

我想知道的是,我是否必须用每种语言编写我的目录对象,并用该语言为它编写一个 json 解析器,还是有一个工具可以让我做类似的事情?我希望有一种简单的格式来声明存储类,为各种语言生成相应的代码,并为 json 之类的东西提供默认的序列化/反序列化。目前我需要它来支持 java 和 C#。

这样的事情存在吗?

【问题讨论】:

  • 我不认为没有内置或第三方的 Json 库的语言。
  • 与其说是解析 json,不如说是,如果可能的话,我不想编写/更新存储类,以及从每种语言中解析的 json 填充它的代码.您可以想象,一旦它支持一种以上的语言,就会存在潜在的错误,即某些实现包含变量/代码来填充这些,而有些则不包含,直到运行时才会显示。如果我有一个工具可以自动生成存储类的代码,并且为了填充它,我只需说出存储类有哪些成员

标签: c# java json storage


【解决方案1】:

只要目标语言可以进行网络调用,并解析 JSON 字符串,就应该没问题。这几乎涵盖了我认为的所有主流语言。 C# 肯定没问题。

【讨论】:

  • 与其说是解析 json,不如说是,如果可能的话,我不想编写/更新存储类,以及从每种语言中解析的 json 填充它的代码.您可以想象,一旦它支持一种以上的语言,就会存在潜在的错误,即某些实现包含变量/代码来填充这些,而有些则不包含,直到运行时才会显示。如果我有一个工具可以自动生成存储类的代码,并且为了填充它,我只需要说明存储类有哪些成员
猜你喜欢
  • 2015-12-14
  • 1970-01-01
  • 1970-01-01
  • 2015-10-31
  • 2022-12-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多