java 后台封装json数据学习总结(一)

一、数据封装

  1. List集合转换成json代码
      List list = new ArrayList();
      list.add( “first” );
      list.add( “second” );
      JSONArray jsonArray2 = JSONArray.fromObject( list );
  2. Map集合转换成json代码
      Map map = new HashMap();
      map.put(“name”, “json”);
      map.put(“bool”, Boolean.TRUE);
      map.put(“int”, new Integer(1));
      map.put(“arr”, new String[] { “a”, “b” });
      map.put(“func”, “function(i){ return this.arr[i]; }”);
      JSONObject json = JSONObject.fromObject(map);
  3. Bean转换成json代码
      JSONObject jsonObject = JSONObject.fromObject(new JsonBean());
  4. 数组转换成json代码
      boolean[] boolArray = new boolean[] { true, false, true };
      JSONArray jsonArray1 = JSONArray.fromObject(boolArray);
  5. 一般数据转换成json代码
      JSONArray jsonArray3 = JSONArray.fromObject("[‘json’,‘is’,‘easy’]" );

二、JAR包简介

  在你的应用中加入引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:下载地址:http://json-lib.sourceforge.net/

  1.commons-lang.jar

  2.commons-beanutils.jar

  3.commons-collections.jar

  4.commons-logging.jar 

  5.ezmorph.jar

  6.json-lib-2.2.2-jdk15.jar

用法同上

JSONObject jsonObject = JSONObject.fromObject(message);
  getResponse().getWriter().write(jsonObject.toString());

当把数据转为json后,用如上的方法发送到客户端。前端就可以取得json数据了。

也可以用
List list1 = new ArrayList()
ListDate ListDate2 = new ListDate();
ListDate2.setId(examSubject.getId());
ListDate2.setValue(examSubject.getSubjectName());
list1.add(ListDate2);

 JSONArray jsonArray1 = JSONArray.fromObject(list1);

前台循环取
  KaTeX parse error: Expected '}', got 'EOF' at end of input: …{   ("#examName").append(""+ obj.value+ “”);
});

三、JSONObject对象使用
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。

样例:

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
public class JSONObjectSample {
    //创建JSONObject对象  
    private static JSONObject createJSONObject(){  
        JSONObject jsonObject = new JSONObject();  
        jsonObject.put("username","huangwuyi");  
        jsonObject.put("sex", "男");  
        jsonObject.put("QQ", "999999999");  
        jsonObject.put("Min.score", new Integer(99));  
        jsonObject.put("nickname", "梦中心境");  
        return jsonObject;  
    }  
    public static void main(String[] args) {  
        JSONObject jsonObject = JSONObjectSample.createJSONObject();  
        //输出jsonobject对象  
        System.out.println("添加属性前的对象jsonObject==>\n"+jsonObject);  
        //判读输出对象的类型  
        boolean isArray = jsonObject.isArray();  
        boolean isEmpty = jsonObject.isEmpty();  
        boolean isNullObject = jsonObject.isNullObject();  
        System.out.println("isArray:"+isArray+" isEmpty:"+isEmpty+" isNullObject:"+isNullObject); 
        //添加属性  
        jsonObject.element("address", "福建省厦门市");  
        System.out.println("添加属性后的对象jsonObject==>\n"+jsonObject);  
 
        //返回一个JSONArray对象  
        JSONArray jsonArray = new JSONArray();  
        jsonArray.add(0, "this is a jsonArray value");  
        jsonArray.add(1,"another jsonArray value");  
        jsonObject.element("jsonArray", jsonArray);  
        JSONArray array = jsonObject.getJSONArray("jsonArray");  
        System.out.println("返回一个JSONArray对象==>\n"+array);  
        //添加JSONArray后的值  
        System.out.println("结果==>\n"+jsonObject);  
            
        //根据key返回一个字符串  
        String username = jsonObject.getString("username");  
        System.out.println("username==>"+username); 
         
        //把字符转换为 JSONObject
        String temp=jsonObject.toString();
        JSONObject object = JSONObject.fromObject(temp);
        //转换后根据Key返回值
        System.out.println("qq==>"+object.get("QQ"));
    }  
}

运行结果:

添加属性前的对象jsonObject==>
{"username":"huangwuyi","sex":"男","QQ":"999999999","Min.score":99,"nickname":"梦中心境"}
isArray:false isEmpty:false isNullObject:false
添加属性后的对象jsonObject==>
{"username":"huangwuyi","sex":"男","QQ":"999999999","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市"}
返回一个JSONArray对象==>
["this is a jsonArray value","another jsonArray value"]
结果==>
{"username":"huangwuyi","sex":"男","QQ":"999999999","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
username==>huangwuyi
qq==>999999999

JSONObject 在线API:http://json-lib.sourceforge.net/apidocs/jdk15/index.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值