2010-09-25 48 views
2

我打算发送Javascript数组对象填充数据通过编码它在JSON中。任何好的jQuery插件?JavaScript到Java使用JSON

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

整个流程是这样的:

  1. 的JavaScript编译一堆数据的当前页面,并将其存储在阵列上。
  2. 编码为JSON的数组对象。
  3. Java代码保存JSON。
  4. 重复和Java代码为每个页面编译连续的JSON。
  5. Java代码向服务器提交一个兆字节的JSON。

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

+0

请参阅:http://www.json.org/java/ – NullUserException 2010-09-25 03:16:56

回答

1

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

在服务器端,有库的牛群看看:

我指着你首先在杰克逊,它似乎是在许多情况下最快。然而,每次我需要回头时,我都会发现它的文档很难让我记住。 Json-lib有时候更容易掌握,它不需要最高速度,但仍然完全可以接受的结果。 Gson也是一个很好的声誉,而且非常灵活,但是我遇到的以前的基准似乎表明它的表现不如杰克逊。新发布的1.5版本可能会有所改进,但我不知道。

这取决于你想要的灵活程度,你需要的性能,以及你是否想要一个简单的API,或者如果你不介意更复杂的API。

关于安全性,我认为你最好的选择是支持连接SSL。否则,只需使用基于JS的加密技术,就可以让窃听者更难做到,但这不会保护您太多。为此寻找SJCL(斯坦福大学JavaScript加密库)。

1

我会建议你使用json2.js。好的部分是,如果原生JSON可用,则可以使用它具有相同的接口。 json2.js负责有条件地添加这些函数。

提交数据,这样做:

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

这也假定服务器与JSON响应。

如果您想在传输过程中使用安全功能,则可以使用SSL。

有关于Java JSON解析器的existing question。我碰巧喜欢json-simple。它不辜负它的名称,JSONObject和JSONArray分别实现了Map和List,这是我觉得有用的一个特性。

+0

我猜测,就安全性而言,OP在数据完整性方面意味着“安全”,而不是防止窃听。 – NullUserException 2010-09-25 03:16:09

+0

@Null,SSL同时提供 – 2010-09-25 03:17:52

+0

True,但它也增加开销,并且需要设置。 – NullUserException 2010-09-25 03:18:39

1

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

http://flexjson.sourceforge.net

至于你如何安全的问题,并且“Java代码提交一个MEGA JSON到服务器”是没有意义的。你担心什么用例?