使用JSON的Javascript到Java

我打算通过在JSON中编码来发送填充数据的Javascript数组对象。 这个有什么好的jquery插件吗?

在Java端,将JSON解析为Java数组的标准方法是什么?

整体流程如下:

  1. Javascript在当前页面上编译大量数据并将其存储在数组中。
  2. 数组对象编码为JSON。
  3. Java代码保存了JSON。
  4. 重复和Java代码为每个页面编译成功的JSON。
  5. Java代码向服务器提交一个巨型JSON。

我遇到的另一个问题是5.您如何安全地向服务器提交大型JSON数据?

在客户端,如果仅支持现代浏览器,则可以使用本机JSON.stringify()API。 否则,json2.js库很好。

在服务器端,有一大堆库可供查看:

  • jackson
  • JSON-LIB
  • GSON
  • 以及更多Java JSON库 ……

我首先指的是jackson,在很多情况下它似乎是最快的。 但是,每当我需要回到它时,我发现它的文档更难以理解。 对于不需要最高速度但仍具有完全可接受的结果的较小任务,Json-lib有时更容易掌握。 Gson也有良好的声誉并且非常灵活,但我之前遇到的基准似乎表明它的表现不如jackson。 新发布的1.5版本可能已经改进了,但我不知道。

它取决于您想要的灵活程度,您需要的性能,以及您是否想要一个简单的API,或者您是否想要更复杂的API。

关于安全性,我认为这里最好的选择是支持连接的SSL。 否则你只需使用基于JS的加密就可以让窃听者变得更难,但这并不能保护你太多。 为此寻找SJCL(斯坦福Javascript加密库)。

我建议你使用json2.js 。 好的部分是,如果本机JSON可用,则使用相同的接口。 json2.js负责有条件地添加函数。

要提交数据,请执行以下操作:

$.ajax({ type: 'post', data: JSON.stringify(data), contentType: 'application/json', dataType: 'json' }); 

这也假定服务器正在使用JSON进行响应。

如果您在传输过程中需要安全性,则可以使用SSL。

关于Java JSON解析器存在一个问题 。 我碰巧喜欢json-simple 。 它符合它的名字,JSONObject和JSONArray分别实现了Map和List,这是我觉得有用的一个特性。

在Java端,您可以使用Flexjson来解析JSON。 与其他JSON反序列化器相比,它使用起来非常简单并且表现相当不错。 此外,它将它直接反序列化到模型对象中,而不是必须编写锅炉代码以在JSONObject / JSONArray之间转换为数据模型。

http://flexjson.sourceforge.net

至于您关于安全的问题,以及“Java代码向服务器提交一个MEGA JSON”没有意义。 您担心哪些用例?