待解析的json格式的檔案如下:[,
] 一、使用jsonobject來解析json資料
官方提供的,所有不需要匯入第三方jar包;直接上**,如下:
1步驟解讀://方法一:使用jsonobject
2private
void
parsejsonwithjsonobject(string jsondata) 14}
15catch
(exception e)
1619 }
定義乙個json陣列,用於將伺服器返回的資料傳入到乙個jsonarray物件中; 然後迴圈遍歷這個jsonarray,
從中取出每乙個元素
(jsonobject物件
),接下來只需呼叫getstring()方法即可將資料取出。
二、使用gson
需要匯入的jar包如圖:
下面是核心**:
//步驟解讀:方法二:使用gson
private
void
parsejsonwithgson(string jsondata)
}
public如只有一組資料,則可以直接呼叫如下**class
private
string id;
private
string name;
private
string version;
public
string getid()
public
void
setid(string id)
//......
}
gson gson = new四、使用fastjsongson();
如果有多組資料,則需要借助typetoken將期望解析成的資料型別傳入fromjson()方法中:
補充:typetoken是什麼呢?
typetoken的使用非常簡單,如上面的**,只要將需要獲取型別的泛型類作為typetoken的泛型引數構造乙個匿名的子類,就可以通過gettype()方法獲取到我們使用的泛型類的泛型引數型別。
三、使用jackson
其中需要使用到:
jackson-databind.jar核心包(必須),提供基於「流模式」解析的api【jsonpaser(json流讀取),jsongenerator(json流輸出)】
jackson-annotations.
jackson-core.jar
註解包(可選),提供註解功能。
核心方法:
public
static
void
parsejsonwithjackson(string jsondata)
catch
(jsonparseexception e)
catch
catch
(ioexception e)
}
核心**:
jsonarrayjarr = jsonarray.parsearray
(jsondata); //
json.parsearray(jsonstr);
for (iterator iterator =jarr.iterator
(); iterator.hasnext(); )
解析 JSON 格式資料
比起 xml,json的主要優勢在於它的體積更小,在網路上傳輸的時候可以更省流量。但缺點在於,它的語義性較差,看起來不如xml 直觀。我們還需要在c apache apache2 htdocs目錄中新建乙個 get data.json 的 檔案,然後編輯這個檔案,並加入如下 json 格式的內容 修...
JSON資料解析(各種格式)
一 解析物件 1.不帶物件名 格式 解析方法 jsonobject json new jsonobject jsostring person.setid json.getint id person.setname json.getstring name person.setaddress json....
解析json格式的資料
一 本程式是從客戶端傳送請求到伺服器,伺服器返回josn格式的資料,客戶端進行解析並展示。二 public class mainactivity extends activity private final static string path protected static final int ...