首页 > 代码库 > 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)
  {
  }

json字符串转换为JSONObject和JSONArray