使用GSON库获取JSON密钥值
问题描述:
我想从我的窗体中获取JSON对象。使用GSON库获取JSON密钥值
请找到JSON下面:
[{"id":["4"]},{"Flap":["NA"]}]
所以我用一个隐藏属性保存在我的ModelForm值成一个JSONObject(从GSON库)。当我从我的控制器调用该对象时,我无法通过键获取值。
在JSP中:
<form:form modelAttribute="myForm" action="/action">
<input type="hidden" name="jsonObject" id="jsonObj" value=""/>
<input type="submit" value="Submit" onclick="function getjson()"/>
</form:form>
在JS,我收集所有检查盒和节约提交值以JSON形式的信息。
在JS:
function getjson(){
var json = [];
var checkedBoxes = $('input[name="checkedList"]:checked').map(function() {
return this.value;
}).get();
var checkedBoxes1 = $('input[name="checkedList1"]:checked').map(function() {
return this.value;
}).get();
json.push({"id":checkedBoxes});
json.push({"Flap":checkedBoxes1});
document.getElementById("jsonObj").value = json;
}
在MyForm.Java:
private JsonObject jsonObjct;
//getters and setters for jsonObjct
我收集检查的值的信息以JSON形式并将其保存在 “jsonObjct” 在MyForm的和试图检索我的控制器中的值使用:
myForm.getJsonObjct();
任何人都可以请帮助我与此。提前致谢。
答
首先这个[{"id":["4"]},{"Flap":["NA"]}]
是一个jsonArray。如果你可以使用org.json
这个jar会更好,很简单。
import org.json.JSONArray;
public class GsonExample {
public static void main(String[] args) {
String jsonString="[{\"id\":[\"4\"]},{\"Flap\":[\"NA\"]}]";
JSONArray arr= new JSONArray(jsonString);
System.out.println(arr.getJSONObject(0).getJSONArray("id").get(0));
}
}
输出是4.我猜你需要什么。
+0
谢谢。:) @boukobba adil – user7637864
分享你的代码? – Coder
嗨@Coder我添加了代码。对不起,以前不清楚。 – user7637864
JSON如何发送到Java对象'MyForm'?你发送的格式是什么? – Coder