转换JSON的数据格式的俩种方式

Ajax响应JSON格式数据

<script type="text/javascript">
    function fn() {
        /**
         * 发送AJAX请求
         * 获取服务器响应的数据,使用JSON格式
         */
        $.get(
            "/WEB11/jquery_json",
            "username=zhangsan",
            function (data){
                alert(data.lastname);
            },"json"
        );
    }
</script>
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    System.out.println(request.getParameter("username"));
    //客户端响应JSON数据格式
    response.setContentType("text/html;charset=utf-8");
    //定义出JSON数据  {"firstname":"张","lastname":"三丰","age":100}
    //转义字符,转变字符意义
    String json =  "{ \"firstname\":\"张\",\"lastname\":\"三丰\" }";
    response.getWriter().write(json); 
}

① JSON-LIB工具
作用:Java中数据转化成Json格式数据
包含:对象,数组,集合

/**
 * JSON-LIB工具
 * 对象Person存储到List
 * 集合转成JSON
 */
 #需要导入⑥个jar包:
 		commons-beanutils-1.8.3.jar
	 	commons-collections-3.2.1.jar
 		commons-lang-2.6.jar
 		commons-logging-1.1.1.jar
 		ezmorph-1.0.6.jar
		json-lib-2.4-jdk15.jar
public void ListToJson(){
    List<Person> list = new ArrayList<Person>();
    list.add(new Person("张三",20,"北京市海淀区"));
    list.add(new Person("李四",30,"天津市武清区"));
    list.add(new Person("王麻子",40,"北京市宣武区"));
    //JSON-LIB工具: JSONArray类静态方法fromObject
    String json = JSONArray.fromObject(list).toString();
    System.out.println(json);
}

/*
 * JSON-LIB工具
 * 对象Person中的数据转成JSON格式
 */

public void ObjectToJson(){
    Person p = new Person("张三",30,"北京市海淀区");
    //JSON-LIB工具: JSONObject类静态方法fromObject
    //方法返回值本类对象,再次调用方法toString()
    String json = JSONObject.fromObject(p).toString();
    System.out.println(json);
}

② Gson工具

 #需要导入的jar 
 		gson-2.2.4.jar
 public void ListToJson(){
    List<Person> list = new ArrayList<Person>();
    list.add(new Person("张三",20,"北京市海淀区"));
    list.add(new Person("李四",30,"天津市武清区"));
    list.add(new Person("王麻子",40,"北京市宣武区"));
    //gson工具实现转换
    Gson gson = new Gson();
    //对象调用方法 toJson(任意数据)
    String json = gson.toJson(list);
    System.out.println(json);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值