说明我的观点: 我有姓名年龄和地址4人
[Sam, 23, nj],
[Nome, 25, ny],
[Sim, 20, pa],
[Jack, 12, pa]
我需要将这4行发送到java端。
我熟悉java端编码,所以我可以从列表等中检索4行等。我是javascripts的新手,所以我想知道如何将所有这些数据放入变量然后将其发送到java,以便java了解我发送了4组数据。
我想做对象的hashmap,无论哪种方式,因为我是新手,我不知道要走哪条路。建议。
我知道如何通过ajax发布数据,只有我正在努力的部分是创建arrAY所以我的java端可以解析它。
答案 0 :(得分:1)
您可以将其序列化为JSON,因此它看起来像这样:
[{name: "Sam", age: 23, address: "nj"},
{name: "Nome", age: 25, address: "ny"}]
答案 1 :(得分: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部分,你说你熟悉它,所以我会把这一点留给你。