1. 程式人生 > >(小知識點)android 獲取json語句中陣列的某一個值

(小知識點)android 獲取json語句中陣列的某一個值

通過http://blog.csdn.net/vincent_czz/article/details/7333977,找到了自己所需要的,--->寫的更全面,  我寫的是自己需要的部分             -----android菜鳥

json 語句:{
    "state": "OK",
    "type": [
        {
            "add_time": "2015-10-14",
            "attr_id": "86",
            "attr_name": "五金工具",
            "image": "http://www.layib.com/data/files/marchine_type/9155151.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "87",
            "attr_name": "市政園林",
            "image": "http://www.layib.com/data/files/marchine_type/7042480.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "88",
            "attr_name": "起重機械",
            "image": "http://www.layib.com/data/files/marchine_type/7828002.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "89",
            "attr_name": "工業車輛",
            "image": "http://www.layib.com/data/files/marchine_type/5010833.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "90",
            "attr_name": "路面裝置",
            "image": "http://www.layib.com/data/files/marchine_type/7391571.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "91",
            "attr_name": "能源裝置",
            "image": "http://www.layib.com/data/files/marchine_type/8926086.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "92",
            "attr_name": "路面裝置",
            "image": "http://www.layib.com/",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "93",
            "attr_name": "物料運輸",
            "image": "http://www.layib.com/data/files/marchine_type/2378234.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "94",
            "attr_name": "高空作業",
            "image": "http://www.layib.com/data/files/marchine_type/7522308.jpg",
            "parent_id": "79",
            "sort_order": "255"
        },
        {
            "add_time": "2015-10-26",
            "attr_id": "95",
            "attr_name": "建築建材",
            "image": "http://www.layib.com/data/files/marchine_type/1149139.jpg",
            "parent_id": "79",
            "sort_order": "255"
        }
    ]
}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

使用的xutils獲取的json語句

private List<String> getWuZiShaiXuanData(){
    List<String> wuziShaiXuanData = new ArrayList<>();
HttpUtils httpUtils = new HttpUtils();
httpUtils.send(HttpRequest.HttpMethod.GET, Utils.WUZI_ZULIN, new 
RequestCallBack<String>() { @Override public void onSuccess(ResponseInfo<String> responseInfo) { String result = responseInfo.result; try { JSONObject jsonObject = new JSONObject(result); JSONArray typeList = jsonObject.getJSONArray("type");
int length = typeList.length(); for (int i = 0;i<length;i++){ JSONObject oj = typeList.getJSONObject(i)
;
String name = (String) oj.get("attr_name");

wuziShaiXuanData.add(name);
}

                Toast.makeText(BaseActivity.this,wuziShaiXuanData.toString(),Toast.LENGTH_SHORT).show();
} catch (JSONException e) {
                e.printStackTrace();
}
        }

        @Override
public void onFailure(HttpException e, String s) {

        }
    });
    return wuziShaiXuanData;
}

二.碰到的另一種json語句

{
    "state": "OK",
"type": {
    "100": "xx",
"101": "xx",
"102": "xx",
"103": "xx",
"104": "xx",
"105": "xx",
"65": "xx",
"66": "xx",
"97": "xx",
"98": "xx",
"99": "xx"
}
}

我自己的解析方式:

httpUtils.send(HttpRequest.HttpMethod.GET, Utils.BANZU_TYPE, new RequestCallBack<String>() {
    @Override
public void onSuccess(ResponseInfo<String> responseInfo) {

        String result = responseInfo.result;
        try {
            JSONObject jsonObject = new JSONObject(result);
String result_type = jsonObject.getString("type");
jsonObject = new JSONObject(result_type);
Iterator<String> iterator = jsonObject.keys();
            while (iterator.hasNext()) {

                String key = iterator.next();
String value = jsonObject.getString(key);
banzuData.add(value);      // List<String> banzuDatabanzuDataTypeHashMap.put(value,key);
}

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

    }

    @Override
public void onFailure(HttpException e, String s) {

    }
});

相關推薦

(知識點)android 獲取json語句陣列一個

通過http://blog.csdn.net/vincent_czz/article/details/7333977,找到了自己所需要的,--->寫的更全面,  我寫的是自己需要的部分             -----android菜鳥 json 語句:{    

獲取json語句一欄位,欄位可以能為空,如何防止程式異常終止

有時候我們獲取json語句中的某一欄位,欄位可以能為空。可以採用以下兩種方法來編寫程式碼避免程式因找不到目標物件而終止。 # try: # label = all_json2['APP']['label'] # 標籤 # except: # label = '' label

程式指定更改陣列或物件一個

1、更改陣列中的值設 paraList:[{txt:'123',chose:false},{txt:'1234',chose:false}]let choseChange = "paraList[" +

jquery獲取json物件的key技巧

jquery獲取json物件中的key小技巧 比如有一個json var json = {"name" : "Tom", "age" : 18}; 想分別獲取它的key 和 value 小技巧來啦 for (var key in json) { console.log(k

json字串陣列元素獲取

1.import java.util.List; import com.alibaba.fastjson.JSON; public class App{ public static void main( String[] args ){ String p

js如何快速獲取數組的最大

維數 spl 最大值 div 轉化 多維 logs clas null 1 var arr=[1,2,3,5]; 2 alert(Math.max.apply(null, arr));//最大值 3 alert(Math.min.apply(null, arr));//最

Java 數組 定義一個數組,獲取數組的最大和最,奇數個數和偶數個數

++ java 偶數 system += 最小值 dem [] style /** * 定義一個數組,獲取數組中的最大值和最小值 奇數個數和偶數個數 * */ package com.xuyigang1234.chp01; public class Demo8 {

Java如何獲取JSON資料

場景:在介面自動化場景中,下個介面傳送的請求引數,依賴上個介面請求結果中的值。需要將獲取值作為全域性引數引用。 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io

for in 迴圈獲取json資料'key'與'value'

 一、for in 方法  a.for in 迴圈物件 var data = {name:'mcYang0929',age:'25',sex:'man'}; for(var key in data) { console.log(key); //

記兩次迴圈語句陣列、變數未宣告(未銷燬)導致的bug

上個月稀裡糊塗的犯了兩次差不多的問題.....特記下,以示警醒。 第一次:悲催的改了三次程式碼... 根據特定條件,列印curl語句,然後放到 .sh檔案中,用Shell來執行。 查詢表***,根據產品id和結束時間(大於當前時間)查詢使用者。通過介面執行特定語句(就是我打

fastjson獲取Json字串資料

通過介面請求到Json字串response 獲取Json字串rows中資料 JSONObject jsonObject = JSONObject.parseObject(response); JSONArray jsonArray = (JSONArray) ((JSONObject

正則表示式獲取sql語句的表名

一個小的實驗,裡面要獲取基本增刪改查的sql語句對應的表名,以下是在W3schoo基本教程的集中sql型別 SELECT 列名稱(*所有列) FROM 表名稱 SELECT 列名稱 FROM 表名稱 where 條件 INSERT INTO 表名稱 V

Android獲取.Gradle檔案和Manifests檔案

專案中有登入頁面,但平時除錯的時候每次都輸入使用者名稱密碼來登入太麻煩,寫成固定值釋出的時候又要重新替換和註釋。所以就想從不同版本獲得資訊然後程式碼中控制。 在Android專案檔案中的build.gradle中,在android標籤下的defaultConf

Android——獲取AndroidManifest.xml的引數

獲取application標籤中meta-data的引數值 public static String getMetaDataFromActivity(Activity context, String key) { try {

正則表示式 獲取JSON資料value

/*** * @Author zhaohp * @Date 2018/9/29 16:07 * @Param [jsonString, set] * @Ret

獲取json串裏的某個屬性

serial json nco zone HA ext tex () ID string jsonText = "{\"beijing\":{\"zone\":\"海澱\",\"zone_en\":\"haidian\"}}";JObject jo = (JObject)J

js獲取url地址的每一個引數,方便操作url的hash

js獲取url地址中的每一個引數,方便操作url的hash 值得收藏 <html> <body> <script> //location.search; //可獲取瀏覽器當前訪問的url中"?"符後的字串

獲取GridView

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

要想在for語句直接定義一個變量

分享 mode com inf gpio int tab span spa 要想在for語句中直接 定義一個變量 (如下的代碼) 1 for(uint16_t i=0;i<10;i++); 2 if( GPIO_ReadI

android一個頁面設定常亮

android中如何保持頁面的方式四種 1.WakeLock 2.FLAG_KEEP_SCREEN_ON  3.keepScreenOn 4.MediaPlayer的 setScreenOnWhilePlaying(),這個用於視訊,MediaPlayer提供的方法