关于json数据传输解析的问题
我自己做了个小例子, 关于json往servlet中传值,然后在后台代码中解析提取键值,出错了,提示
net.sf.json.JSONException: JSONObject["name"] not found.
net.sf.json.JSONObject.get(JSONObject.java:1449)
net.sf.json.JSONObject.getString(JSONObject.java:1570)
com.my.servlet.Action.doGet(Action.java:30)
com.my.servlet.Action.doPost(Action.java:39)
javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
这个键值我是存在的,包都加了。不知道错在哪了
页面代码:
function servletJson()
{
var str = '{ "name": "Violet", "occupation": "character" }';
alert(str);
var form = document.getElementById("formName");
form.action="SpringCodeTest1?jsondate="+str ;
form.submit();
}
</script>
<form id="formName" method="post">
<input type="button" value="提交json数据到后台" onClick="servletJson()">
</form>
servlet中代码:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("d0get");
String s3 = request.getParameter("jsondate");
System.out.println("::::::::"+s3);
//解析json数据,加载所有需要的包
JSONObject jsonObj = new JSONObject();
//获取key,得到value的值
System.out.println(jsonObj.getString("model"));
System.out.println(jsonObj.getInt("year"));
}
我认为这句有问题JSONObject jsonObj = new JSONObject();
应该吧JSONObject jsonObj = new JSONObject(s3 );
但是编译不过去,提示错误