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

Java程序从XML到JSON数据转换及HTTP响应处理
该博客主要展示了如何使用Java进行XML数据的获取、解析,并将其转换为JSON格式,然后将JSON内容写入HTTP响应中。过程中涉及到URL连接、输入输出流操作、JSON库(net.sf.json)的使用以及日期格式化。此外,还演示了将JSON字符串转化为List<Map<String, String>>的处理方法。

packagecom.jjinfo.action;importjava.io.File;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.Reader;importjava.net.MalformedURLException;importjava.net.URL;importjava.net.URLConnection;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importjavax.servlet.http.HttpServletResponse;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;importorg.apache.struts2.ServletActionContext;public classTestAction {public void sendMessage(String content) throwsIOException {

HttpServletResponse response=ServletActionContext.getResponse();

response.setCharacterEncoding("UTF-8");//response.setCharacterEncoding("GBK");

response.getWriter().write(content);

}private static List> jsonStringToList(String rsContent) throwsException

{

JSONArray arry=JSONArray.fromObject(rsContent);

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

System.out.println(arry);

List> rsList = new ArrayList>();for (int i = 0; i < arry.size(); i++)

{

JSONObject jsonObject=arry.getJSONObject(i);

Map map = new HashMap();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);

}returnrsList;

}public String query() throwsException{

String str="";//获取xml,读入xml文件

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

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

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=newStringBuilder();int c=0;

StringBuffer temp=newStringBuffer();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(newDate()));

List> list1 =jsonStringToList(str);

System.out.println("json字符串成map");for (Mapm : list1)

{

System.out.println(m);

}return null;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值