導航:首頁 > 操作系統 > android自帶的json解析

android自帶的json解析

發布時間:2022-06-14 06:27:41

android Json解析

用JSONObject 這個開源庫,或者用android的 Gson開源庫

JSONObject jsonObj = new JSONObject(json字元串);

JSONArray array = jsonObj.getJSONArray("result");



⑵ Android json解析

關於json解析有很多第三方的jar包可以使用,如gson,也可以使用android自帶的工具類org.json包下,這里你可以使用JSONTokener(json解析類 ),例:

// {
// "phone" : ["12345678", "87654321"], // 數組
// "name" : "yuanfei89", // 字元串
// "age" : 100, // 數值
// "address" : { "country" : "china", "province" : "jiangsu" }, // 對象
// "married" : false // 布爾值
// }

private static final String JSON =
"{" +
" \"phone\" : [\"12345678\", \"87654321\"]," +
" \"name\" : \"yuanfei89\"," +
" \"age\" : 100," +
" \"address\" : { \"country\" : \"china\", \"province\" : \"jiangsu\" }," +
" \"married\" : false," +
"}";

try {
JSONTokener jsonParser = new JSONTokener(JSON);
// 此時還未讀取任何json文本,直接讀取就是一個JSONObject對象。
// 如果此時的讀取位置在"name" : 了,那麼nextValue就是"yuanfei89"(String)
JSONObject person = (JSONObject) jsonParser.nextValue();
// 接下來的就是JSON對象的操作了
person.getJSONArray("phone");
person.getString("name");
person.getInt("age");
person.getJSONObject("address");
person.getBoolean("married");
} catch (JSONException ex) {
// 異常處理代碼
}

可參考:http://www.open-open.com/lib/view/open1326376799874.html

⑶ 怎麼使用android自帶的json解析string數據

用json_encode()函數對數組進行JSON編碼。 以上常式會輸出: {"a":1,"b":2,"c":3,"d":4,"e":5}[1] 當有中文字元時,當直接使用json_encode() 函數會使漢字不能正常顯示。 所以有了這個適用性比較廣的函數 ch_json_encode() 來解決這個問題。

⑷ android json解析三種方式哪種效率最高

用org.json以及谷歌提供gson來解析json數據的方式更好一些。

安卓下通常採用以下幾種方式解析json數據:
1、org.json包(已經集成到android.jar中了)
2、google提供的gson庫
3、阿里巴巴的fastjson庫
4、json-lib

以Google出品的Gson為例,具體步驟為:
1、首先,從 code.google.com/p/google-gson/downloads/list下載GsonAPI:
google-gson-1.7.1-release.zip 把gson-1.7.jar 到libs(項目根目錄新建一個libs文件夾)中。 可以使用以下兩種方法解析JSON數據,通過獲取JsonReader對象解析JSON數據。
代碼如下:
String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";
try{
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while(reader.hasNext()){
String tagName = reader.nextName();
if(tagName.equals("username")){
System.out.println(reader.nextString());
}
else if(tagName.equals("userId")){
System.out.println(reader.nextString());
}
}
reader.endObject();
}
reader.endArray();
}
catch(Exception e){
e.printStackTrace();
}
2、使用Gson對象獲取User對象數據進行相應的操作:
代碼如下:

Type listType = new TypeToken<LinkedList<User>>(){}.getType();
Gson gson = new Gson();
LinkedList<User> users = gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
User user = (User) iterator.next();
System.out.println(user.getUsername());
System.out.println(user.getUserId());
}
3、如果要處理的JSON字元串只包含一個JSON對象,則可以直接使用fromJson獲取一個User對象:
代碼如下:

String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println(user.getUsername());
System.out.println(user.getUserId());

⑸ 怎麼在android客戶端解析json數據

這個格式使用如下代碼解析try { JSONObject jsonObject = new JSONObject(json); JSONObject weatherinfo = jsonObject.getJSONObject("weatherinfo"); System.out.println(weatherinfo.getString("city")); System.out.println(weatherinfo.getString("cityid")); System.out.println(weatherinfo.getString("temp")); System.out.println(weatherinfo.getString("WD"));} catch (JSONException e) { e.printStackTrace();} 其中第一行代碼 JSONObject jsonObject = new JSONObject(json);//json 即為你的字元串 比如現在天氣信息是多個城市的,並非只有北京市。{"weatherinfo":[{"city":"北京","cityid":"101010100","temp":"4","WD":"東風","WS":"2級","SD":"75%","WSE":"2","time":"10:45","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暫無實況","qy":"1011"},{"city":"天津","cityid":"101010100","temp":"4","WD":"東風","WS":"2級","SD":"75%","WSE":"2","time":"10:45","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暫無實況","qy":"1011"}]}以下代碼適用。 try { JSONObject jsonObject=new JSONObject(json); JSONArray jsonArray=jsonObject.getJSONArray("weatherinfo"); for (int i=0;i<jsonArray.length();i++){ JSONObject object = jsonArray.getJSONObject(i); System.out.println(object.getString("city")); System.out.println(object.getString("cityid")); System.out.println(object.getString("temp")); System.out.println(object.getString("WD")); }} catch (JSONException e) { e.printStackTrace();}

⑹ android怎麼解析json文件

android 下有自帶的對json字元串處理的包的,都在org.json包下

java">//注意要拋出異常,用try,catch或直接拋異常
JSONObjectobject=newJSONObject(result);
//獲取resultcode對象,其它類推
Stringresultcode=object.getString("resultcode");
//獲取data列表
JSONArrayarray=object.getJSONArray("data");
for(inti=0;i<array.length;i++){
//獲取列表第i個json對象
JSONObjectobj=array.get(i);
//獲取經度、維度
Stringlongitude=obj.getString("O_LNG");
Stringlatitude=obj.getString("O_LAT");
}

當然,你用其它的json處理的包也行,大同小異

⑺ android 手機怎樣解析json數據

可以用一些開源的Java庫,就可以把這些json數據直接變為Java對象及數組了,然後用Java處理起來很方便。
常用的處理json的庫有gson和json-lib,你網路一下可以下到,網上也有例子

⑻ 安卓中返回的json數據怎麼解析

WebService返回的Json字元串或者是XML文件,看你要怎麼樣用,Android中有解析Json的對象如JSONObject,JsonArray等,著鍵你的WEBService要配置好。

⑼ android Json解析

整體是一個JsonObject
JsonObject json = new JsonObject();//括弧裡面用DoGet方法訪問你的的介面地址URL

int a = json.GetInt("result");
第二項是一個JsonArray
JsonArray arr = new JsonArray(json.getJSONArray("desc"));
之後再對arr進行操作就可以取出裡面的每一項

⑽ android中這樣的JSON數據應該如何解析,

//json我的理解就是一系列鍵值對,只要KEY值對了,對應數據格式也對了,那就可以了!~
JsonObject j = ...//此處是獲取json的方法,自定
boolean b = j.getBoolean("result");//取出「result」對應的值,這里的結果應該
//是"true";
JsonArray ja = j.getJsonArray("asks");//取出「asks」對應的值,因為asks對應的值
//中含有方括弧,所以這是JsonArray型數據,需要取出進一步解析;JsonArray可以與數組
//進行比較理解,我個人是這樣的,供參考
for(int i = 0; i < ja.length(); i++){
JsonArray ja1 = ja.getJsonArray(i);//獲取ja中的第一個元素,因為這個元素
//也是jsonArray,所以可以再進一步解析
double d1 = ja1.getDouble(0);//jsonArray中沒有getFloat()這個方法
//,自行轉型就可以了
double d2 = ja1.getDouble(1);//
} 以上,希望對你有所幫助

閱讀全文

與android自帶的json解析相關的資料

熱點內容
小紅書賣奶粉要有源碼嗎 瀏覽:268
傳統兩位數減兩位數速演算法 瀏覽:138
樂看tv影視源碼 瀏覽:191
小米機頂盒怎麼播放伺服器內容 瀏覽:325
華為soundx音樂用的什麼APP 瀏覽:420
為什麼游戲解壓總出錯 瀏覽:309
n2nlinux 瀏覽:563
安卓十版本有什麼 瀏覽:553
程序員老劉 瀏覽:254
跑團的app是什麼 瀏覽:527
程序員學鋼琴好嗎 瀏覽:252
android開源3d引擎 瀏覽:207
歌唱pdf 瀏覽:417
javaofficepdf 瀏覽:198
商業數據怎麼加密 瀏覽:637
雲伺服器控制台指令 瀏覽:894
福建北斗授時伺服器雲伺服器 瀏覽:29
我的世界命令方塊如何做無限鑽石礦指令 瀏覽:528
布蘭德的命令 瀏覽:547
釘釘的加密視頻通話路徑會保存嗎 瀏覽:842