1

为了说明我的观点:我有 4 个人的姓名年龄和地址

[Sam, 23, nj],
[Nome, 25, ny],
[Sim, 20, pa],
[Jack, 12, pa]

我需要将这 4 行发送到 java 端。

我熟悉 java 端编码,所以我可以从列表中检索 4 行等。我是 javascripts 新手,所以我想知道如何将所有这些数据放入一个变量中,然后将其发送到 java,以便 java 理解我我正在发送 4 组数据。

我想做对象的哈希图,无论哪种方式,因为我是新手,我不知道该走哪条路。请建议。

我知道如何通过 ajax 发布数据,我唯一苦苦挣扎的部分是创建 arrAY,以便我的 java 端可以解析它。

4

2 回答 2

1

您可以将其序列化为JSON,因此它看起来像这样:

[{name: "Sam", age: 23, address: "nj"}, 
 {name: "Nome", age: 25, address: "ny"}]
于 2012-07-30T21:16:50.520 回答
1

Java 支持 JSON 对象: http: //www.json.org/java/ 使用这些方法。

将数组格式转换为存储变量并使用 stringify 方法。

var a = Array([Sam, 23, nj], [Nome, 25, ny], [Sim, 20, pa], [Jack, 12, pa]);
var jsonText = JSON.stringify(a);
//send jsonText to java via post after this

编辑

要在下面回答,我的 Java 因废弃而生锈,但您需要使用这里的库https://github.com/douglascrockford/JSON-java,并通过发布数据发送客户端数据 jsonText:

<form method='post' action='/Source/jsp/X.jsp' id='jsonform'>
<input id='json' name='json' value=''>
</form>

然后运行一个脚本,用 jsonText 填充输入的值并提交。

完成后,您可以获取 POST 数据并将其反序列化并在您的 Java 程序中使用它。

var input = document.getElementById('json');
var form = document.getElementById('jsonform');
input.value = jsonText;
form.submit();

对于 Java 部分,您说您对它很熟悉,所以我将把这部分留给您。

于 2012-07-30T21:23:47.870 回答