关于Json

JSON与JAVA数据的转换( JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互。

 
JSONObject jo = JSONObject.fromObject(map);
常见的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']" );

 

 

把List、Map转换Json

public static String getListMapToJSON(List<Map> listMap) {
        if (listMap == null) return null;
        StringBuffer sb = new StringBuffer("[");
        int countT = 0;
        for (Map map : listMap) {
            if (countT == 0) {
                sb.append("{");
            } else {
                sb.append(",{");
            }
            Iterator iterator = map.keySet().iterator();
            int count = 0;
            while (iterator.hasNext()) {
                Object key = iterator.next();
                Object value = map.get(key);
                if (count == 0) {
                    sb.append("\"");
                    sb.append(key.toString().toLowerCase());
                    sb.append("\":");
                    if (value instanceof String || value instanceof Character) {
                        sb.append("\"");
                        sb.append(value);
                        sb.append("\"");
                    } else if (value == null) {
                        sb.append(value);
                    } else if (value instanceof Double || value instanceof Integer || value instanceof Long || value instanceof BigDecimal) {
                        sb.append(value);
                    } else if (value instanceof Date) {
                        sb.append("\"");
                        sb.append(DateUtil.dateFormat((Date) value));
                        sb.append("\"");
                    } else if (value instanceof Timestamp) {
                        sb.append("\"");
                        sb.append(DateUtil.timestampFormat_ZN((Timestamp) value));
                        sb.append("\"");
                    } else {
                        System.err.println("主键为:" + key + "======值为:" + value + "出错。" + value.getClass().getName());
                    }
                } else {
                    sb.append(",\"");
                    sb.append(key.toString().toLowerCase());
                    sb.append("\":");
                    if (value instanceof String || value instanceof Character) {
                        sb.append("\"");
                        sb.append(value);
                        sb.append("\"");
                    } else if (value == null) {
                        sb.append(value);
                    } else if (value instanceof Double || value instanceof Integer || value instanceof Long || value instanceof BigDecimal) {
                        sb.append(value);
                    } else if (value instanceof Date) {
                        sb.append("\"");
                        sb.append(DateUtil.dateFormat((Date) value));
                        sb.append("\"");
                    } else if (value instanceof Timestamp) {
                        sb.append("\"");
                        sb.append(DateUtil.timestampFormat_ZN((Timestamp) value));
                        sb.append("\"");
                    } else {
                        System.err.println("主键为:" + key + "======值为:" + value + "出错。" + value.getClass().getName());
                    }
                }
                count++;
            }
            countT++;
            sb.append("}");
        }

        sb.append("]");
        return sb.toString();
    }


 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值