java对象怎么转成json数组 传到前台页面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java对象怎么转成json数组 传到前台页面相关的知识,希望对你有一定的参考价值。

你会js吗,你就用Java生成一个js数组发到前台啊,或者使用js框架,eg:dwr,jquery ,reurn 一个json格式的页面 也可以。
JSONArray ja = JSONArray.fromObject(list);
out.print(ja.toString());
参考技术A String name=request.getParameter("name");
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try
List list=dizhiservice.getbyname(name);
StringBuffer sb = new StringBuffer();
sb.append("[");
for (int i = 0; i < list.size(); i++)
Object[] obj = (Object[])list.get(i);
sb.append("");
sb.append("\"" + "id" + ":"+"\"" + obj[0] +"\""+",");

sb.append("\"" + "name" + ":"+"\"" + obj[1] +"\""+",");

sb.append("\"" + "phone" + ":"+"\"" + obj[2] +"\""+",");

sb.append("\"" + "adrress" + ":"+"\"" + obj[3] +"\""+",");

sb.append("");
if(i!=list.size()-1)
sb.append(",");


sb.append("]");
out.println(sb.toString());
System.out.println(sb.toString());

Json:前台对象数组传到后台解析

本文转自:http://blog.csdn.net/kymegg/article/details/50964581

方法:使用JsonArray进行解析

步骤:

一、引入一系列JAR包

      要使程序便于解析json,首先引入json-lib包,son-lib包同时依赖于5个JAR包:(前5个为依赖包);

      由于刚开始笔者是随便下载这些包(没有管版本)导入程序,但没想到程序出现了兼容问题,为了使大家不再浪费时间,现给出经测试可用的一套包名及版本号;

      1.commons-beanutils-1.8.3.jar

      2.commons-collections-3.2.1.jar

      3.commons-lang-2.6.jar

      4.commons-logging-1.1.1.jar

      5.ezmorph-1.0.6.jar

      6.json-lib-2.4-jdk15.jar

二、前台代码

      datalist是类似这样的对象数据:

[javascript] view plain copy
  1.   var datalist= new Array();  
  2.   for ( var i = 1; i <= bookCount; i++) {  
  3.   var object = new Object();  
  4.   object.id = i;  
  5.   object.name = "同学"+i;  
  6.      datalist.push(object);         
  7.   }  

      前台传输对象数组datalist:

[javascript] view plain copy
  1.  function saveData(datalist){  
  2.   .ajax({  
  3.     type:"POST",  
  4.     url:base +"/save",  
  5.     data:{"datalist":JSON.stringify(datalist)},  
  6.     dataType: "json",  
  7.     success:function (data){  
  8.      
  9.     },  
  10.     error:function (){  
  11.          alert("insert serv wrong  ");  
  12.     }  
  13.   );  
  14.  }  

三、后台代码

       后台获取到的list是string类型的,值为:

  1. [{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}]  

       后台转换得到对象对应值:

       注意:这样使用的话,引入JSONArray的类型为org.json而不是net.sf.json,笔者开始引入的是net.sf.json.JSONArray,但JSONObject.fromObject(obj)时报错报Java.lang.reflect.InvocationTargetException错误。解决很久未果,偶然看一网友说用org.json比net.sf.json好用,就试了下。在此给大家提供个参考。

    1.     public Object save(@Param("datalist")String list){        
    2.       JSONArray jsonArray = new JSONArray(list);  
    3.       String id = jsonArray.getJSONObject(0).get("id");</span>//得到第一个同学的id  
    4.       String name = jsonArray.getJSONObject(0).get("name");</span>//得到第一个同学的name  
    5.       return true;   
    6.     } 



以上是关于java对象怎么转成json数组 传到前台页面的主要内容,如果未能解决你的问题,请参考以下文章

求助后台json串返回到前台自动四舍五入怎么解决

求java递归算法,帮我把模块表里面的数据遍历,然后转成json形式传到前台,形成树形事后加分+,非常感谢

Json:前台对象数组传到后台解析

求助后台json串返回到前台自动四舍五入怎么解决

ssm框架如何将存有json对象的数组传到后端并接受

json 串转成 java 对象再拼接成前台 html 元素