Java中的JSON
1.Java中导入包:
①commons-lang-2.5.jar
②commons-beanutils.jar
③commons-collections-3.2.1.jar
④commons-logging-1.1.1.jar
⑤ezmorph-1.0.6.jar
⑥json-lib-2.4-jdk15.jar
2.关于JSONArray和JSONObject:
①JSONArray是一个动态数组,个人认为类似ArrayList一类吧。
②JSONObject是一种键值对的集合,个人认为类似HashMap吧。
3.既然集合里面都有这些类似的东西了,那么为什么还要使用JSON呢?个人认为:我也不知道,那不是ArrayList的toString() 方法也是打印出其具体字符串内容嘛,为啥还用JSON呀?
4.好了,开始代码吧:
import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.ListIterator; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Json { public static void main(String[] args) { JSONObject jsObj1 = new JSONObject(); jsObj1.put("gao", "111");//大唐名将:高仙芝 jsObj1.put("xian", "222"); jsObj1.put("zhi", "333"); System.out.println("通过构造器构造的JSONObject对象1:" + jsObj1); JSONObject jsObj2 = new JSONObject(); jsObj2.put("gao", "1111"); jsObj2.put("xian", "2222"); jsObj2.put("zhi", "3333"); System.out.println("通过构造器构造的JSONObject对象2:" + jsObj2); JSONObject jsObj3 = new JSONObject(); jsObj3.put("gao", "11111"); jsObj3.put("xian", "22222"); jsObj3.put("zhi", "33333"); System.out.println("通过构造器构造的JSONObject对象3:" + jsObj3); JSONArray jsArr1 = new JSONArray(); jsArr1.add(jsObj1); jsArr1.add(jsObj2); jsArr1.add(jsObj3); System.out.println("通过构造器构造的JSONArray对象1:" + jsArr1); String str = jsArr1.toString(); System.out.println("JSONArray对象1转换成String对象str后的内容:"+str); List<Map<String, String>> listMap = new ArrayList<Map<String, String>>(); JSONArray jsArr2 = JSONArray.fromObject(str); System.out.println("JSON格式的字符串str转换成JSONArray之后的JSONArray对象2:"+jsArr2); for (int i = 0; i < jsArr2.size(); i++) { JSONObject obj = JSONObject.fromObject(jsArr2.get(i)); Map<String, String> map = new HashMap<String, String>(); map.put("gao", obj.getString("gao")); map.put("xian", obj.getString("xian")); map.put("zhi", obj.getString("zhi")); listMap.add(map); } System.out.println("JSONArray对象2jsArr2转换成List<Map<String, String>>对象listMap后:"+listMap); System.out.println("解析完成后:"); ListIterator iterator=listMap.listIterator(0); while(iterator.hasNext()){ Map<String, String> map = new HashMap<String, String>(); map=(Map<String, String>) iterator.next(); System.out.println(map.get("gao")); System.out.println(map.get("xian")); System.out.println(map.get("zhi")); } } }
5.总结:个人写这个呢,是为了实现Java的Servlet服务器向安卓客户端传输数据所用,这只是在Java文件中解析JSON字符串,好像安卓里面的JSON的定义和Java中的不会都一样吧,不过方法差不多了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。