您的位置:首页 > 编程语言 > Java开发

java解析json与map,list相互之间的转换

2014-04-22 15:54 656 查看
运行这个类需要加载jar包:ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar、jsoup-1.6.1.jar、commons-beanutils-1.8.0.jar、commons-collectio.jar、commons-lang-2.4.jar、commons-logging-1.1.1.jar。
点击下载所需夹包
http://download.csdn.net/detail/weizunde/7233825

 

package com.jjinfo.action;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.Reader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

import org.apache.struts2.ServletActionContext;

 

public class TestAction {

 public void sendMessage(String content) throws IOException {

  HttpServletResponse response = ServletActionContext.getResponse();

  response.setCharacterEncoding("UTF-8");

  //response.setCharacterEncoding("GBK");

  response.getWriter().write(content);

 }

  private static List<Map<String, String>> jsonStringToList(String rsContent) throws Exception

     {

         JSONArray arry = JSONArray.fromObject(rsContent);

         System.out.println("json字符串内容如下");

         System.out.println(arry);

         List<Map<String, String>> rsList = new ArrayList<Map<String, String>>();

         for (int i = 0; i < arry.size(); i++)

         {

             JSONObject jsonObject = arry.getJSONObject(i);

             Map<String, String> map = new HashMap<String, String>();

             for (Iterator<?> iter = jsonObject.keys(); iter.hasNext();)

             {

                 String key = (String) iter.next();

                 String value = jsonObject.get(key).toString();

                 map.put(key, value);

             }

             rsList.add(map);

         }

         return rsList;

     }

 

 public String query() throws Exception{

  String str="";

  //获取xml,读入xml文件

  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

  System.out.println("----start----"+sdf.format(new Date()));

        URL url;

   

        url = new URL("http://star.sgst.cn/starInfoForZSCQ.do?systemName=ZSCQ&pageNum=6");

        URLConnection uc = url.openConnection();

        InputStream in = uc.getInputStream();

        Reader rd = new InputStreamReader(in,"UTF-8");

        byte[] ch=new byte[1024];

        StringBuilder sb=new StringBuilder();

        int c=0;

       

        StringBuffer temp=new StringBuffer();

        while ((c = rd.read()) != -1) {

            temp.append((char) c);

        }

        in.close();

        str=temp.toString();

        System.out.println(temp.toString());

        System.out.println("----zhong----"+sdf.format(new Date()));

       

       

       

        List<Map<String, String>> list1 = jsonStringToList(str);

        System.out.println("json字符串成map");

        for (Map<String, String> m : list1)

        {

            System.out.println(m);

        }

      

  return null;

 }

}

 

 

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