Java中的JSON

1.Java中導入包:java

    ①commons-lang-2.5.jar    json

    ②commons-beanutils.jar數組

    ③commons-collections-3.2.1.jar    服務器

    ④commons-logging-1.1.1.jarspa

    ⑤ezmorph-1.0.6.jarcode

    ⑥json-lib-2.4-jdk15.jar對象

2.關於JSONArray和JSONObject:字符串

    ①JSONArray是一個動態數組,我的認爲相似ArrayList一類吧。get

    ②JSONObject是一種鍵值對的集合,我的認爲相似HashMap吧。it

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中的不會都同樣吧,不過方法差很少了。

相關文章
相關標籤/搜索