小弟最近刚刚弄好了JSON-RPC for Java这个框架,尝试在Java的服务器端实现将List转换成JSON格式。但是一直不成功,控制台不报错,我在Java中的代码如下:
public List shu(){
System.out.println("0123456789");
String a = "1"; 
List list = new ArrayList(); 
        list.add("girl"); 
        list.add("boy"); 
        System.out.println(list);
        System.out.println("mgs test JSON"); 
       
         JSONArray ja = JSONArray.fromObject(list);
        a = ja.toString();        System.out.println(a);
return list;
}
不能返回JSON到客户端。求帮助啊,急!

解决方案 »

  1.   

    你应该要返回json数据到前端页面供javascript调用吧,直接response.getPrintWriter().write(ja.toString())
      

  2.   

    要使用JSON格式进行客户端和服务端进行通信,首先要在服务端写到客户端,并且这个字符串流是符合JSON格式的,也就是key-value的格式,例如我有下面的Java类:
    public class User{
       private Long id;
       private String name;
    }
    User user = new User();
    user.setId(1);
    user.setName("Arvin");
    转换成JSON格式为:{id:1, name:"Arvin"}----- 可以借助相关的JSON包来实现转换,如楼主用的,或者google的gson也不错这种格式在JS就可以进行处理了,服务端用resposne.getWriter().write("{id:1, name:\"Arvin\"}");
    就能把数据传到客户端,在前端使用AJAX技术,取回到的responseText就是这个字符串,需要进行转换之后才能呢个获得JSON格式的数据:
    使用:
    var user = eval("{id:1, name:\"Arvin\"}");
    这里就是js的对象了,你可以这样引用数据:
    id = user.id;
    name = user.name;
      

  3.   

    头部: response.setContentType("application/json;charset=utf-8");Gson gson = new Gson();
    PrintWriter out = response.getWriter();
    out.write(gson.toJson(list));
    out.flush();
    out.close();//google的Gson包自行下载
      

  4.   

    谢谢了,用了Gson实现了List转换为JSON,但是现在我想实现JSON转换为List,用firstJson,该怎样实现呢?JSON数据是从浏览器上传入的。