json数组的简单使用

        以前用json封装数据,用就用了,简单的封装,机械地套用,最近有时间 ,拿出来看下,也就那回事,调用内置方法,转成String字符,当成字符串处理就对了。也可以调用方法 对应的获取,理论的东西我也说不上来,用得多了,脑子里就是有这个东西有这个概念,自己的小列子,不对的请老鸟们赶紧指出来,不胜感激,请看代码:

 

一、jar包准备:

commons-banutils-1.7.0.jar、commons-collections-3.2.jar、

commons-lang-2.4.jar、commons-logging-1.1.1.jar、

ezmorph-1.0.6.jar、json-lib-2.1.jar、jsonplugin-0.34.jar

二、代码

//说明; BASE64 是我用的加密工具类。加密方法:encryptBASE64();解密方法:decryptBASE64

 

package com.wyebd.cstp.json;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import com.wyebd.cstp.tool.BASE64;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

/**
 * datas
 *{"result":[{"id":0,"province":"北京","alarmname":"黄色暴雨预警"}]}
 *{"result":[{"id":0,"province":"北京","alarmname":"黄色暴雨预警"},{"id":1,"province":"北京","alarmname":"黄色暴雨预警"},{"id":2,"province":"北京","alarmname":"黄色暴雨预警"},{"id":3,"province":"北京","alarmname":"黄色暴雨预警"},{"id":4,"province":"北京","alarmname":"黄色暴雨预警"}]}
 * @author Bing
 *
 */
public class Maps {
 /**
  * JSON 数组为单个元素时
  * @return
  * @throws IOException
  */
 public String Maps() throws IOException{
  JSONObject json = new JSONObject();
  JSONArray jsonArray = new JSONArray();
  Map map = new HashMap();
   map.put("id", 0);
   map.put("province", "北京");
   map.put("alarmname", "黄色暴雨预警");
   jsonArray.add(map);
  json.element("result", jsonArray);
//  //配置action �? 用response提交,返回�?�为null;
//  HttpServletResponse response = ServletActionContext.getResponse();
//  PrintWriter out = response.getWriter();
//  out.write(json.toString());
//  return null;
  return json.toString();
 }
 /**
  * JSON数组为多个元素时
  * @return
  * @throws Exception
  */
 public String jsArray() throws Exception{
  JSONObject json = new JSONObject();
  JSONArray jsonArray = new JSONArray();
  for(int i=0;i<5;i++){
   Map map = new HashMap();
   map.put("id", i);
   map.put("province", BASE64.encryptBASE64("北京".getBytes("UTF-8")));
   map.put("alarmname", BASE64.encryptBASE64("黄色暴雨预警".getBytes("UTF-8")));
   jsonArray.add(map);
  }
  json.element("result", jsonArray);
  return json.toString();
 }

 public static void main(String[] args) throws Exception {
  Maps m=new Maps();
//  String ms=m.Maps();  
  String ms=m.jsArray();
  JSONObject jsList=JSONObject.fromObject(ms);
  System.out.println(jsList);
  JSONObject jsonob = JSONObject.fromObject(jsList);
  JSONArray json = jsonob.getJSONArray("result");
  for (int i = 0; i < json.size(); i++) {
   JSONObject temp = (JSONObject) json.get(i);
   String ID=temp.getString("id");
   String PV=new String(BASE64.decryptBASE64(temp.getString("province")),"UTF-8");
   String Aname=new String(BASE64.decryptBASE64(temp.getString("alarmname")),"UTF-8");
   System.out.println(ID+"========"+PV+"===="+Aname);
  }
  System.out.println("I am is main");
 }

}

 

//--------------------------------------------------------------------------------------------------------------------------------------以下是我的加密工具类

package com.wyebd.cstp.tool;

import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class BASE64    
{    
   
    /**   
     * BASE64解密  
   * @param key         
     * @return         
     * @throws Exception         
     */             
    public static byte[] decryptBASE64(String key) throws Exception {              
        return (new BASE64Decoder()).decodeBuffer(key);              
    }              
                 
    /**        
     * BASE64加密  
   * @param key         
     * @return         
     * @throws Exception         
     */             
    public static String encryptBASE64(byte[] key) throws Exception {              
        return (new BASE64Encoder()).encodeBuffer(key);              
    }      
        
    public static void main(String[] args) throws Exception    
    {    
        String data = BASE64.encryptBASE64("http://aub.iteye.com/".getBytes());    
        System.out.println("加密前:"+data);    
            
        byte[] byteArray = BASE64.decryptBASE64(data);    
        System.out.println("解密后:"+new String(byteArray));    
    }    
}   

 好了,比我还菜的小鸟们,偷着乐吧,加密类拿去免费用,json数组的解析好好看看,就那么两个方法得记住了,欢迎常来!

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值