Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在客户端和服务器上使用GWT/Java进行JSON或YAML编码_Java_Json_Gwt_Yaml - Fatal编程技术网

在客户端和服务器上使用GWT/Java进行JSON或YAML编码

在客户端和服务器上使用GWT/Java进行JSON或YAML编码,java,json,gwt,yaml,Java,Json,Gwt,Yaml,我正在寻找一个用Java编写的超级简单的JSON或YAML库(不特别关心哪一个),既可以在客户端的GWT中使用,也可以在服务器上以其原始Java形式使用 我想做的是:我有我的模型,在客户端和服务器之间共享,这些是数据交换的主要来源。我希望将两者之间的web服务设计得尽可能简单,并决定采用RESTful方法 我的问题是,我知道我们的应用程序在未来会有很大的增长,手工编写所有的getter、setter、序列化、工厂等让我感到非常恐惧。所以为了避免这种情况,我决定实现注释来跟踪模型上的属性 我不能使

我正在寻找一个用Java编写的超级简单的JSON或YAML库(不特别关心哪一个),既可以在客户端的GWT中使用,也可以在服务器上以其原始Java形式使用

我想做的是:我有我的模型,在客户端和服务器之间共享,这些是数据交换的主要来源。我希望将两者之间的web服务设计得尽可能简单,并决定采用RESTful方法

我的问题是,我知道我们的应用程序在未来会有很大的增长,手工编写所有的getter、setter、序列化、工厂等让我感到非常恐惧。所以为了避免这种情况,我决定实现注释来跟踪模型上的属性

我不能使用GWT自己的或通过反射工作的方法直接序列化所有内容的原因是,在序列化过程中需要一定数量的逻辑。也就是说,对其他模型的引用是否在原始模型的序列化过程中被序列化,或者是否只是传递了一个ID,以及类似的简单事情。然后,我编写了一个注释处理器来预处理共享模型,并生成一个包含所有getter、setter、序列化、延迟加载等的实现类

长话短说,我需要一些简单的YAML或JSON库,它允许我手动编码和解码,这样我就可以通过注释处理器生成这些代码。我环顾了一下interwebs,但是我遇到的每一个interwebs都支持一些反射,虽然这些反射都很好,但对GWT来说几乎毫无用处。在GWT自己的JSON库中,它使用JSNI来提高速度,这使得它在服务器端毫无用处

我考虑过的一个解决方案涉及在模型上编写两组序列化方法,一个用于客户端,一个用于服务器,但我不想这样做

另外,我对GWT还很陌生,尽管我已经做了很多Java,但它还是在1.2年前,所以有点生疏。所以,如果你认为我在处理这个问题上完全错了,我愿意接受建议。

你有没有研究过?网页上描述的一些摘录:

  • 一个跨平台的GWT&标准javajson库,具有方便的类、解析器和实用程序
  • 一个RESTful连接器API,用于通过各种协议检索数据(JSON、文本和小型二进制文件)
  • 标准Java和GWT Java中都可以使用相同的JSON API

先生,你是救命恩人。看起来这正是医生要的+1.