问题描述
我打算将整个表单数据以 JSON 格式发布到 Struts2 Action.下面是我的代码片段.纠正我哪里出错或帮助我,以便我可以正确获取操作文件中的所有值.我的所有操作文件中的 SOP 都显示为 null
I am planning to post entire form data in JSON format to Struts2 Action. Below are my code snippets. Correct me where I am going wrong or Help me so that I can get all values in the Action file correctly. All of my SOPs in Action file is displayed as null
var MyForm = $("#companyform").serializeArray(); var data = JSON.stringify(MyForm); $.ajax({ type: 'POST', url:'createcompany.action?jsonRequestdata='+data, dataType: 'json', success: function(data){ console.log(stringify(data)); }});
我的表单数据变成[{"name":"tan","value":"rrr"},{"name":"pan","value":"adf"},{"name":"tod","value":"1"}]
Struts2 动作文件:
String jsonRequestdata; public String execute() throws Exception { JSONArray jsonArr = (JSONArray) new JSONParser().parse(jsonRequestdata); JSONObject json = (JSONObject) jsonArr.get(0); System.out.println("TAN=" + json.get("tan")); System.out.println("PAN=" + json.get("pan")); System.out.println("TOD=" + json.get("tod")); return "success"; }
当前输出
TAN=null PAN=null TOD=null
推荐答案
由于我使用的是name,value我必须使用name来获取它.下面是工作代码
Since I am using name,value I must get it by using name. Below is the working code
JSONArray jsonArr = (JSONArray) new JSONParser().parse(jsonRequestdata); for(int i=0;i<jsonArr.size();i++){ JSONObject json=(JSONObject) jsonArr.get(i); System.out.println("name=" + json.get("name")); System.out.println("value=" + json.get("value")); }