針對JSON的一些初級理解

對知識充滿著渴望發表於2017-11-17
JSON:定義JavaScript物件表示法(JavaScript Object Notation),獨立於語言和平臺,更容易解析。
Android平臺自帶了JSON了JSON解析相關的API,可以將檔案,輸入流中的資料物件轉化為JSON物件,然後從物件中獲取JSON儲存的資料內容

Android的JSON部分都在包org.json下,主要包括一下幾個類:
JSONObject:


JSON資料的提供方式:
      伺服器端傳過來的jsonString ,
      assets檔案下放置的.json型別的文字資料,
                try {
            InputStreamReader isr = new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("assets/" + "student.json"),"utf-8");
            //從assets獲取json檔案
            BufferedReader bfr = new BufferedReader(isr);
            String line;
            StringBuilder stringBuilder = new StringBuilder();
            while ((line = bfr.readLine())!=null){
                stringBuilder.append(line);
            }//將JSON資料轉化為字串
            System.out.println(stringBuilder.toString());
            System.out.println(tes.tostring());

        } catch (IOException e) {
            e.printStackTrace();
        }

 JSONObject json = new JSONObject(jsonString);
 json.getJSONArray("key")
 json.getJSONObject("key")
 json.getInt("key")
 json.getString("key")
 
資料生成方式:
JSON json1 = new JSON();
json1.put("translation","車");
JSON json2 = new JSON();
json2.put("phonetic","ka");
String[] a =["n. 汽車;車廂","n. (Car)人名;(土)賈爾;(法、西)卡爾;(塞)察爾"] ;
json2.put("explains",a);
json1.put("basic",json2);
JSONArray json3 = new JSONArray();
json4.put
json5.put
json6.put
json3.add(json4)
json3.add(json5)
json3.add(json6)
json1.put("web",json3)

JSON資料詳解:

{"translation":["車"],
  "basic":
    {
      "phonetic":"kɑː",
      "explains":["n. 汽車;車廂","n. (Car)人名;(土)賈爾;(法、西)卡爾;(塞)察爾"]},
  "query":"car",
  "errorCode":0,
  "web":[{"value":["汽車","車子","小汽車"],"key":"Car"},
         {"value":["概念車","概念車","概念汽車"],"key":"concept car"},
         {"value":["碰碰車","碰撞用汽車","碰碰汽車"],"key":"bumper car"}]
}

這個JSONObject包括
              一個普通的String陣列"translation"
              一個JSONObject "basic", 在這個"basic"Object中又包含了  一個普通的string "phonetic",一個普通的String陣列"explains"
              一個普通的String "query"
              一個普通的String "errorCode"
              一個JSONArray "web",在這個"web"裡又包含了三個JSONObject , 每個JSONObject中又包含一個String陣列,一個普通的String
              
              
     {

GSON 基於事件驅動的解析json資料格式
     String jsonString = GSON.toJson(src);
     Object = GSON.fromJson(jsonString,type)
     type = new TypeToken<Type>(){}.getType
     
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
              
             

相關文章