json学习文件
json学习资料JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原
json学习资料
JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。
js 代码
- function?jsonResponse(originalRequest)?{ ??????alert(originalRequest.responseText); ??
- ????var?myobj?=?originalRequest.responseText.evalJSON(true); ?? ????alert(myobj.name); ??
- } ??
JSON还提供了java的jar包 http://www.json.org/java/index.html API也很简单,下面举个例子
在javascript中填加请求参数
js 代码
- function?sendRequest()?{ ??????var?carr?=?new?Car("Dodge",?"Coronet?R/T",?1968,?"yellow"); ??
- ????var?pars?=?"car="?+?carr.toJSONString(); ?? ??
- ????var?url?=?"/MyWebApp/JSONTest1"; ?? ????var?mailAjax?=?new?Ajax.Request( ??
- ????????url, ??????????{ ??
- ????????????method:?'get', ??????????????parameters:?pars, ??
- ????????????onComplete:?jsonResponse ??????????} ??
- ????); ??} ??
使用JSON请求字符串就可以简单的生成JSONObject并进行解析,修改servlet添加JSON的处理(要使用json.jar)
java 代码
- private?void?doService(HttpServletRequest?request,?HttpServletResponse?response)?throws?IOException?{ ??????????String?s3?=?request.getParameter("car"); ??
- ????????try?{ ?? ????????????JSONObject?jsonObj?=?new?JSONObject(s3); ??
- ????????????System.out.println(jsonObj.getString("model")); ?? ????????????System.out.println(jsonObj.getInt("year")); ??
- ????????}?catch?(JSONException?e)?{ ?? ????????????e.printStackTrace(); ??
- ????????} ??????????response.getWriter().print("{?"name":?"Violet",?"occupation":?"character"?}"); ??
- ????} ??
同样可以使用JSONObject生成JSON字符串,修改servlet
java 代码
- private?void?doService(HttpServletRequest?request,?HttpServletResponse?response)?throws?IOException?{ ??????????String?s3?=?request.getParameter("car"); ??
- ????????try?{ ?? ????????????JSONObject?jsonObj?=?new?JSONObject(s3); ??
- ????????????System.out.println(jsonObj.getString("model")); ?? ????????????System.out.println(jsonObj.getInt("year")); ??
- ????????}?catch?(JSONException?e)?{ ?? ????????????e.printStackTrace(); ??
- ????????} ?????????? ??
- ????????JSONObject?resultJSON?=?new?JSONObject(); ?? ????????try?{ ??
- ????????????resultJSON.append("name",?"Violet") ?? ??????????????????????.append("occupation",?"developer") ??
- ??????????????????????.append("age",?new?Integer(22)); ?? ????????????System.out.println(resultJSON.toString()); ??
- ????????}?catch?(JSONException?e)?{ ?? ????????????e.printStackTrace(); ??
- ????????} ??????????response.getWriter().print(resultJSON.toString()); ??
- ????} ??
js 代码
- function?jsonResponse(originalRequest)?{ ??????alert(originalRequest.responseText); ??
- ????var?myobj?=?originalRequest.responseText.evalJSON(true); ?? ????alert(myobj.name); ??
- ????alert(myobj.age); ??}??
参考
http://www.json.org/js.html
http://www.blogjava.net/Jkallen/archive/2006/03/28/37905.html
http://www.json.org/
http://www.prototypejs.org/learn/json
http://www.json.org/java/index.html
http://www.ibm.com/developerworks/cn/web/wa-ajaxintro10/index.html