1

私のポイントを説明するために:私は4人の名前の年齢と住所を持っています

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

これらの4行をJava側に送信する必要があります。

私はJavaサイドコーディングに精通しているので、リストなどから4行を取得できます。JavaScriptは初めてなので、このすべてのデータを変数に入れてJavaに送信し、Javaがiを理解できるようにする方法を考えていました。 4セットのデータを送信しています。

私は初心者なので、どちらの方法でもオブジェクトのハッシュマップを作成したかったのですが、どの道を進むべきかわかりません。plsのアドバイス。

私は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 に答える