您的位置:首页 > Web前端 > JavaScript

json数组的简单使用

2013-08-28 23:15 204 查看
        以前用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数组的解析好好看看,就那么两个方法得记住了,欢迎常来!

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  json 加密 解密 免费 Java