1. 程式人生 > >json字串轉換為JSONObject和JSONArray .

json字串轉換為JSONObject和JSONArray .

一.下載json 具體到http://www.json.org/上找java-json下載,並把其放到專案原始碼中,這樣就可以引用其類物件了

二.具體轉化過程

//JSONObject

 String jsonMessage = "{\"語文\":\"88\",\"數學\":\"78\",\"計算機\":\"99\"}";
  String value1 = null;
  try
  {
   //將字串轉換成jsonObject物件
   JSONObject myJsonObject = new JSONObject(jsonMessage);
   //獲取對應的值
   value1 = myJsonObject.getString("數學");
  }
  catch (JSONException e)
  {
  }
  
  System.out.println("value1="+value1);

//JSONArray

jsonMessage = "[{'num':'成績', '外語':88, '歷史':65, '地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}}," +
           "{'num':'興趣', '外語':28, '歷史':45, '地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}}," +
           "{'num':'愛好', '外語':48, '歷史':62, '地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";
  JSONArray myJsonArray;
  try
  {
   myJsonArray = new JSONArray(jsonMessage);
   
   for(int i=0 ; i < myJsonArray.length() ;i++)
   {
    //獲取每一個JsonObject物件
    JSONObject myjObject = myJsonArray.getJSONObject(i);
    
    //獲取每一個物件中的值
    String numString = myjObject.getString("num");
    int englishScore = myjObject.getInt("外語");
    int historyScore = myjObject.getInt("歷史");
    int geographyScore = myjObject.getInt("地理");
    //獲取陣列中物件的物件
    JSONObject myjObject2 = myjObject.getJSONObject("object");
    String aaaString = myjObject2.getString("aaa");
    System.out.println("aaaString="+aaaString);
    
    System.out.println("numString="+numString);
    System.out.println("englishScore="+englishScore);
    System.out.println("historyScore="+historyScore);
    System.out.println("geographyScore="+geographyScore);
   }
  }
  catch (JSONException e)
  {
  }