JSON

通过Ajax技术,将数组类型数据转换为JSON格式的对象

字号+ 作者:H5之家 来源:H5之家 2016-06-06 11:00 我要评论( )

一、在服务器端将list类型数据放入JSON对象中的方法 tjyjList=PxcscjbDAO.getTjyjList(pxcscjbQOMap); //生成JSON对象,用来容纳获得的样卷数组 JSONObject json

一、在服务器端将list类型数据放入JSON对象中的方法
tjyjList=PxcscjbDAO.getTjyjList(pxcscjbQOMap);
//生成JSON对象,用来容纳获得的样卷数组
JSONObject jsonObject=new JSONObject();
//生成JSON数组对象,存放样卷信息
JSONArray bmhArray=new JSONArray(); for(i=0;i<tjyjList.size();i++){
//把样卷列表中的每条记录赋给Map对象
tjyjMap = (HashMap)tjyjList.get(i);
//通过Map对象获得样卷列表中的各个列值,并添加到JSON数组对象中
JSONArray tempArray=new JSONArray();
tempArray.add(tjyjMap.get("BMH").toString());
tempArray.add(tjyjMap.get("DFDXX").toString());
tempArray.add(tjyjMap.get("PYCJ").toString());
bmhArray.add(tempArray); try {
//将JSON数组对象put到JSONObject对象中,通过ajax传回给客户端的js dedecms.com
jsonObject.put("bmhlist",bmhArray);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace(); PW.print(jsonObject);//通过PrintWrite,以流方式将JSONObject,返回给客户端。
PW.flush();
PW.close(); 二、在客户端中获得服务器通过ajax返回的JSON对象
new Ajax.Request( 'yjtx.do?method=getTjyjObject',//调用服务器上的相应方法,使用prototype框架中的Ajax对象 method: 'post',
postBody: $('fzxx').serialize(),//序列化表单,即为发送表单做准备,该表单将被发送给服务器
onFailure:function(transport){//执行失败时的执行函数
alert(transport.responseText); onSuccess: function(transport) {//如果操作成功,执行function函数
//将得到数据转换为json
var getobj=transport.responseText.evalJSON(true);//从responseText中获得JSON对象
//得到JSON对象中保密号列表 内容来自dedecms
var js_bmh = getobj.bmhlist; 三、在客户端将需要传送到服务器端的二维数组或列表数据转化为JSON对象,
再通过Ajax传送到服务器端
1.首先将数据组成符合JSON键值对格式的数据 "名称":[{"名称":"值","名称":"值","名称":"值"}]//(代表二维数组) 例如:
var bmhlist = "maxnum":30,
"errorcode":1,
"bmha": {"bmh":"0151810151810000085","dfdxx":"1|2|","pycj":3},
{"bmh":"0151810151810000086","dfdxx":"3|4|","pycj":7},
{"bmh":"0151810151810000087","dfdxx":"3|4|","pycj":7}, }
2.将JSON格式的数据转化为JSON对象,并赋给变量
var bmhAsJSON=Object.toJSON(bmhlist);
3.通过Ajax将JSON对象传送给服务器端 织梦好,好织梦
var mailAjax = new Ajax.Request('yjtx.do?method=getJson', //url及需要调用的服务器端的方法 method: 'get',
parameters: "bmhlist=" + bmhAsJSON,//将JSON对象作为参数(参数名为bmhlist)传给服务器端的getJson方法
onSuccess: function(transport) {//传送成功后执行的函数
//alert(transport.responseText); }); 四、在服务器端获得客户端传送的JSON对象 织梦好,好织梦
public void getJson(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String json=request.getParameter("bmhlist");//得到reguest中的JSON对象的字符流
JSONObject jsonObject = null;//定义一个JSONObject对象
try {
Object obj=JSONValue.parse(json);//将得到的JSON对象字符流转化为对象 jsonObject=(JSONObject)obj;//将对象强制转化为JSON对象 JSONArray array = (JSONArray) jsonObject.get("bmha");//得到JSON对象中键值为"bmha"的数组转化为JSONArray数组
for(int i=0;i<array.size();i++){

内容来自dedecms


jsonObject=(JSONObject)array.get(i);//得到JSONArray数组中的每个元素并将其强制转化为JSONObject对象


logger.info("jsonObject.getbmh:"+jsonObject.get("bmh"));//通过JSONObject的get(键值)方法获得每个键值对的值,然后根据需要进行后续处理


logger.info("jsonObject.getdfdxx:"+jsonObject.get("dfdxx"));


logger.info("jsonObject.getpycj:"+jsonObject.get("pycj"));


}


} catch (Exception e) {


// TODO Auto-generated catch block


e.printStackTrace();


}

本文来自织梦

}

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • ajax post json提交数据

    ajax post json提交数据

    2016-05-25 10:01

  • 如何获取JQUERY AJAX返回的JSON结果集实现代码

    如何获取JQUERY AJAX返回的JSON结果集实现代码

    2016-05-14 14:05

  • 推荐8项提高 ASP.NET Web API 性能的技术

    推荐8项提高 ASP.NET Web API 性能的技术

    2016-05-14 12:00

  • 如何解决JQuery ajaxSubmit提交中文乱码

    如何解决JQuery ajaxSubmit提交中文乱码

    2016-05-14 11:01

网友点评
i