1. 程式人生 > >Android json解析簡單示例

Android json解析簡單示例

本文講解JSON簡單的使用(使用Android 提供的相關API)

程式碼完成功能:建立檔案,並且寫入JSON檔案,最後讀取JSON檔案並且解析。

1、設定AndroidManifest.xml的SD卡訪問許可權

用於之後建立檔案和寫入(與application同級)

<!-- 在SDCard中建立與刪除檔案許可權 -->
<uses-permission android:name= "android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard寫入資料許可權 -->
<uses-permission
android:name= "android.permission.WRITE_EXTERNAL_STORAGE" />

2、獲取json檔案路徑

filePath = Environment.getExternalStorageDirectory().toString()+"/test.json";

3、建立JsonWriter並且寫入資料

FileOutputStream fileOutputStream = new FileOutputStream(filePath);
//開始寫JSON資料
JsonWriter jsonWriter = new JsonWriter(new
OutputStreamWriter(fileOutputStream, "UTF-8")); jsonWriter.beginObject(); //第一組資料 jsonWriter.name("id").value("1"); jsonWriter.name("name").value("王辰浩"); //第二組資料 jsonWriter.name("id").value("2"); jsonWriter.name("name").value("陸莉"); jsonWriter.endObject(); jsonWriter.close(); System.out.println("JSON資料寫入完畢!"
);

4、讀取資料

// 開始讀JSON資料
System.out.println("開始讀取JSON資料");

fileInputStream = new FileInputStream(filePath);//建立FileInputStream
JsonReader jsonReader = new JsonReader(new InputStreamReader(fileInputStream, "UTF-8"));

jsonReader.beginObject();

while (jsonReader.hasNext()) {
     System.out.println(jsonReader.toString());//顯示jsonReader的字串
     if (jsonReader.nextName().equals("id")) {
             System.out.println("id:" + jsonReader.nextString());//獲得id相應內容
     }
     if (jsonReader.nextName().equals("name")) {
             System.out.println("name:" + jsonReader.nextString());//獲得name相應內容
     }
}

jsonReader.endObject();
jsonReader.close();

json解析補充教程【轉載】

文字解析類JSONTokener

String jsonString = "{\"id\":\"1\",\"name\":Michael},{\"id\":\"2\",\"name\":Mike},{\"id\":\"3\",\"name\":王辰浩}";

JSONTokener jsonParser = new JSONTokener(jsonString);

JSONObject person = null;
do{
     person = (JSONObject) jsonParser.nextValue();// 此時還未讀取任何json文字,直接讀取就是一個JSONObject物件。
     System.out.println(person.getString("id"));//獲取ID
     System.out.println(person.getString("name"));//獲取姓名
}while(jsonParser.next() != '\0');

存在陣列版本

String jsonString = "{\"info\" :[{\"id\":\"1\",\"name\":Michael},{\"id\":\"2\",\"name\":Mike},{\"id\":\"3\",\"name\":王辰浩}]}";

JSONTokener jsonParser = new JSONTokener(jsonString); //獲取JSONTokener
JSONObject person = (JSONObject) jsonParser.nextValue();

JSONArray jsonArray = person.getJSONArray("info");//獲取JSONArray 
int length = jsonArray.length(); 
for(int i = 0; i < length; i++)
{
    person = jsonArray.getJSONObject(i);         //獲取JSONObject 
    System.out.println(person.getString("id"));   //顯示ID
    System.out.println(person.getString("name")); //顯示name
}

相關推薦

Android json解析簡單示例

本文講解JSON簡單的使用(使用Android 提供的相關API) 程式碼完成功能:建立檔案,並且寫入JSON檔案,最後讀取JSON檔案並且解析。 1、設定AndroidManifest.xml的S

Android Json解析簡單高效之org.json,取值如囊中取物

我們通常在Android上採用Gson來解析Json資料,很方便的就可以把資料轉換成List或者map。當碰到日期時間的時候,你可能會遇到坑,需要格式化一下日期時間格式。 本文介紹org.json這種不需要匯入任何包的解析方式,不管Json多少層,如探囊取物。

android json解析簡單例子

JSON的定義:       一種輕量級的資料交換格式,具有良好的可讀和便於快速編寫的特性。業內主流技術為其提供了完整的解決方案(有點類似於正則表示式 ,獲得了當今大部分語言的支援),從而可以在不同平臺間進行資料交換。JSON採用相容性很高的文字格式,同時也具備類似於C語言體

Android Json解析Kotlin

style any ray code 鍵值 first aaa use text      1. 首先講一下什麽是Json--下面的就是Json基本格式,其實就是一個鍵值對。 { "people": [ { "firstName": "Brett", "lastNam

android json 解析 kotlin

spa hashmap 函數 三方庫 col msg arraylist 字符串 comm   前面 寫了一次 kotlin解析json 但是,真的寫得太爛,直接刪掉了,現在重新整理一下。順便記錄一下今天坑了我很久的小問題。   1.首先從最簡單的入手吧  

Android-json解析(三):原生JSONObject+JSONArray的解析、遍歷及生成等

一、JSONObject和JSONArray的資料表示形式 JSONObject的資料是用 { } 來表示的, 例如: { "id":"1", "courseID":"化學", "title":"滴定實驗",

android json解析詳解(json手動解析

一 .json簡介 1)概念:json全稱是javaScript object Notation,是一種病輕量級的資料交換格式。 2)特點: 1.本質就是具有特定格式的字串 2,.json完全獨立於程式語言 3.json比xml資料傳輸的有效性要高出很多 二。json資料

Android-json解析(二):Jackson的使用

使用Jackson,主要是使用writeValueAsString和readValue這兩個方法。此外,Jackson的writeValue和readValue有很多種引數型別,適用於多中場合。 1、匯入依賴 compile 'com.faste

Android JSON解析器(JSONObject的使用)

    在沒有了解Android之前,以為跟C++一樣,解析json資料都是外部開源庫來處理的,但是Android自帶就有json解析器!言歸正傳,使用Android原生的Json解析器來解析json資料,這裡只跟大家提及需要注意的一點:使用JSONObject時,需要加上t

android:json解析的兩個工具:Gson和Jackson的使用小例子

1.簡介 json是android與伺服器通訊過程中常用的資料格式,例如,如下是一個json格式的字串: {"address":"Nanjing","name":"NUPT","students":[{"name":"stu1","id":"10000","ag

WCF服務端與使用HttpClient的Android客戶端簡單示例

WCF服務端 Contract using System.Collections.Generic; using System.Runtime.Serialization; using System.ServiceModel; using System.S

WCF服務端與使用HttpURLConnection的Android客戶端簡單示例

WCF服務端 契約Contract using System.ServiceModel; using System.ServiceModel.Web; namespace Contract { /// <summary> /

android json解析框架 Model轉json

json是客戶端與服務端資料互動格式的一種,幾乎99%客戶端與服務端資料互動都是用json,很少用xml了,那麼json解析目前有二大框架,一個是google的json,一個是FastJson(阿里的),FastJson在處理資料比較大的時候,比gson要快,今天就手寫一個

android Json解析詳解(詳細程式碼)

廣告時間:張大媽  好看美劇  妹子圖  JSON的定義:        一種輕量級的資料交換格式,具有良好的可讀和便於快速編寫的特性。業內主流技術為其提供了完整的解決方案(有點類似於正則表示式 ,獲得了當今大部分語言的支援),從而可以在不同平臺間進行資料交換。JSON採

基於網路音訊的Android播放程式簡單示例

隨著釋出MP3檔案、播客以及流式音訊變得越來越受歡迎,構建可以利用這些服務的音訊播放程式的需求也越來越強烈。幸運的是,Android擁有豐富的功能用於處理網路上存在的各種型別的音訊。 1.基於HTTP音訊播放 這是最簡單的的情況,僅僅播放線上的、可通過HTTP對其進行訪問的

Android JSON資料格式的解析,與簡單物件、帶泛型的List和Map的轉換,以及GSON的使用

首先,這裡要先說一下 JSON 的語法。 1、使用 JSON 語法建立物件         如圖,建立 object 時,總是以 “{” 開始,以 “}” 結束,物件的每個屬性和屬性值之間以英文冒號 “:” 隔開,多個屬性定義之間以英 文逗號 “,” 隔開。語法格式如下:

Android簡單json 解析

Android 解析 JSON 要解析 JSON 資料,首先得先拿到 JSON 資料,我拿到的資料是這樣的 {"msg":"請登陸","code":-999,"data":xxx} 1、使用JSONObject來解析JSON資料 /** * J

Android Gson解析json工具類封裝

pac spa google lis object sonar andro on() div package com.springSecurity.gson; import java.util.ArrayList; import java.util.List

JSON解析工具——fastjson的簡單使用

http json lan .com pan 官方 json解析 ont 使用   從官方文檔入手:     常見問題與快速上手:https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9

一個簡單json解析

har continue != objects token spa 根據 blog nbsp 實現一個簡單地json解析器。 兩部分組成,詞法分析、語法分析 詞法分析 package com.mahuan.json; import java.util.LinkedLis