您好,登錄后才能下訂單哦!
本篇文章為大家展示了Android中如何進行數據解析及讀取,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
數據解析及讀取
網絡傳輸中數據的組織方式:xml、json、http
(1)xml:可擴展標記語言
特點:保存少量數據,可跨平臺
解析方式:sax、dom、pull
a. sax解析:
特點:速度快,占用內存少。事件驅動,不會一次性把所有內容加載到內存中。
startElement:元素節點開始
localName:不帶前綴的標簽名
qName:帶前綴的標簽名
attributes:節點內的屬性和值
<student id ="1">
<name>小明</name>
</student>
(2)dom解析:
特點:一次性把所有內容加載到內存中
使用于服務端編程
(3)pull解析:
特點:類似于sax,不會自動讀取
適用于移動設備,占用內存少
json解析
特點:相對xml,更加節省空間
(1)json對象:{"key1":"value1","key2":"value2"}
a. 以{}開始和結束
b. key必須是字符串,value可以是基礎數據類型、String、json對象、json數組
c. 每條數據以逗號分隔
例子:
{"name":"小明","age":25,"married":"true"}
(2)json的解析
//根據傳入的字符串,得到JSONObject類型對象
JSONObject jsonObject = new JSONObject(str);
//根據key,獲取對應的數據
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
boolean b = jsonObject.getBoolean("married")
//向jsonOnject中傳入數據
jsonObject.put("name","小紅");
jsonObject.put("age",20);
jsonObject.put("married","false");
(3)JSONArray json數組
a. 以[]開始和結束
b. 每一條數據都是一個jsonObject
c. 每條數據以逗號分隔
例子:
[{"name":"小明","age":25,"sex":"male"},{"name":"小紅","age":23,"sex":"female"}]
解析一條JSONArray 格式的數據
//根據傳入的字符串得到一個JSONArray 類型的對象
JSONArray jsonArray = new JSONArray (str);
for(int i=0; i<jsonArray.length;i++){
//根據下標得到JSONObject對象
JSONObject jsonObject = jsonArray.getJSONObject(i);
//根據key值得到對應的數據
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
String sex = jsonObject.getString("sex");
}
//向JSONArray 中傳入數據
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject1 = new JSONObject();
JSONObject jsonObject2 = new JSONObject();
jsonObject1.put("name","小黑");
jsonObject2.put("name","小白");
jsonArray.put(jsonObject1);
jsonArray.put(jsonObject2);
上述內容就是Android中如何進行數據解析及讀取,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。