亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

解析json格式數據

2019-11-14 15:03:21
字體:
來源:轉載
供稿:網友

實現目標

  讀取文件中的json格式數據,一行為一條json格式數據。進行解析封裝成實體類。

  通過google的Gson對象解析json格式數據

  我現在解析的json格式數據為:

{"id": "1403","name": "1.2.3 Diva","has_barcode": true,"barcode_format": "EAN_13","homepage": "http://1-2-3.fr","regions": ["DE","FR"],"other_stores": [],"typos": ["un deux trois","un1deux2trois3"],"logo": "undeuxtrois","android_banner_url": "http://stocardapp.s3-external-3.amazonaws.com/android/banner/undeuxtrois.png","ios_banner_url": "http://stocardapp.s3-external-3.amazonaws.com/ios/banners/undeuxtrois.png","ios_logo_url": "http://stocardapp.s3-external-3.amazonaws.com/ios/icons/undeuxtrois@2x.png"},

代碼實現

1、實體類

import java.util.List;public class ImportBrand{    PRivate int id;    private String name;    private String has_barcode;    private String barcode_format;    private String homepage;    private List<String> regions;    private List<String> other_stores;    private List<String> typos;    private String logo;    private String android_banner_url;    private String ios_banner_url;    private String ios_logo_url;        @Override    public String toString()    {        // TODO Auto-generated method stub        return "id=" + id + ",name = " + name + ",has_barcode = " + has_barcode + ",barcode_format=" + barcode_format +                ",homepage =" + homepage + ",regions = " + regions +",logo = " + logo +",android_banner_url = " + android_banner_url +                ",ios_banner_url=" + ios_banner_url + ",ios_logo_url = " + ios_logo_url;    }            public int getId()    {        return id;    }    public void setId(int id)    {        this.id = id;    }    public String getName()    {        return name;    }    public void setName(String name)    {        this.name = name;    }    public String getHas_barcode()    {        return has_barcode;    }    public void setHas_barcode(String has_barcode)    {        this.has_barcode = has_barcode;    }    public String getBarcode_format()    {        return barcode_format;    }    public void setBarcode_format(String barcode_format)    {        this.barcode_format = barcode_format;    }    public String getHomepage()    {        return homepage;    }    public void setHomepage(String homepage)    {        this.homepage = homepage;    }            public List<String> getRegions()    {        return regions;    }    public void setRegions(List<String> regions)    {        this.regions = regions;    }    public List<String> getOther_stores()    {        return other_stores;    }    public void setOther_stores(List<String> other_stores)    {        this.other_stores = other_stores;    }    public List<String> getTypos()    {        return typos;    }    public void setTypos(List<String> typos)    {        this.typos = typos;    }    public String getLogo()    {        return logo;    }    public void setLogo(String logo)    {        this.logo = logo;    }    public String getAndroid_banner_url()    {        return android_banner_url;    }    public void setAndroid_banner_url(String android_banner_url)    {        this.android_banner_url = android_banner_url;    }    public String getIos_banner_url()    {        return ios_banner_url;    }    public void setIos_banner_url(String ios_banner_url)    {        this.ios_banner_url = ios_banner_url;    }    public String getIos_logo_url()    {        return ios_logo_url;    }    public void setIos_logo_url(String ios_logo_url)    {        this.ios_logo_url = ios_logo_url;    }}

2、讀取文件

import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.List;/** * 讀取文件 *  * @author zcr *  */public class ImportFile{    /**     * 功能:Java讀取txt文件的內容 步驟:1:先獲得文件句柄 2:獲得文件句柄當做是輸入一個字節碼流,需要對這個輸入流進行讀取     * 3:讀取到輸入流后,需要讀取生成字節流 4:一行一行的輸出。readline()。 備注:需要考慮的是異常情況     *      * @param filePath     *            文件路徑[到達文件:如: D:/aa.txt]     * @return 將這個文件按照每一行切割成數組存放到list中。     */    public static List<String> readTxtFileIntoStringArrList(String filePath)    {        List<String> list = new ArrayList<String>();        try        {            String encoding = "UTF-8";            File file = new File(filePath);            if (file.isFile() && file.exists())            { // 判斷文件是否存在                InputStreamReader read = new InputStreamReader(                        new FileInputStream(file), encoding);// 考慮到編碼格式                BufferedReader bufferedReader = new BufferedReader(read);                String lineTxt = null;                while ((lineTxt = bufferedReader.readLine()) != null)                {                    if (isRightFormat(lineTxt))                    {                        list.add(lineTxt.substring(lineTxt.indexOf("{"),lineTxt.lastIndexOf(',')));                    }                }                read.close();            }            else            {                System.out.println("找不到指定的文件");            }        }        catch (Exception e)        {            System.out.println("讀取文件內容出錯");            e.printStackTrace();        }        return list;    }    public static void main(String argv[])    {          String filePath = "C://Users//owner//Desktop//卓信科技實習//stores.json";          List<String> dataList = readTxtFileIntoStringArrList(filePath);                    for(int i = 0 ; i < dataList.size() ; i ++)           {              System.out.println(dataList.get(i));           }          System.out.println(dataList.size());    }    /**     * 判斷數據是否是合法的格式     * @param jsonStr    帶判斷的數據     * @return            返回該行是否是正確的格式     */    public static boolean isRightFormat(String jsonStr)    {        return jsonStr.matches("[//p{Space}]*[{]{1}.*[}]{1}[,]{1}");    }}

3、方法調用及測試

/** * 格式化json數據 * @author zcr * */public class FormatJson{    public static void main(String[] args)    {        String filePath = "C://Users//owner//Desktop//卓信科技實習//stores.json";               List<ImportBrand> brandList = FormatJson.formatFileListToBrand(filePath);        for(int i = 0 ; i < brandList.size() ; i ++)        {            System.out.println(brandList.get(i));        }        System.out.println(brandList.size());    }        /**     * 將json格式數據轉換成Import對象     * @param jsonStr    帶轉換的json對象     * @return            json格式數據對應的對象     */    public static ImportBrand formatFromJsonToObject(String jsonStr)    {        Gson gson = new Gson();        ImportBrand brand = gson.fromJson(jsonStr,ImportBrand.class);                return brand;    }        /**     * 將String類型的json格式轉換為ImportBrand類型的集合     * @param jsonStrList    待轉換的json格式List對象     * @return                json格式對象轉換而成的ImportBrand對象集合     */    public static List<ImportBrand> formatStringListToBrand(List<String> jsonStrList)    {        List<ImportBrand> listImportBrand = new ArrayList<ImportBrand>();        int size = jsonStrList.size();        for(int i = 0 ; i < size ; i ++)        {            listImportBrand.add(formatFromJsonToObject(jsonStrList.get(i)));        }                return listImportBrand;    }        /**     * 讀取文件,將json格式的數據轉換成List對象的ImportBrand     * @param filePath    讀取的文件路徑     * @return                 */    public static List<ImportBrand> formatFileListToBrand(String filePath)    {        List<String> dataList = ImportFile.readTxtFileIntoStringArrList(filePath);        List<ImportBrand> brandList = formatStringListToBrand(dataList);               return brandList;    }}

  致謝:感謝您的閱讀.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品高潮呻吟久久av野狼| 国产精品成人一区二区| 色中色综合影院手机版在线观看| 国产成人精品999| 色婷婷av一区二区三区久久| 高跟丝袜欧美一区| 亚洲老头老太hd| 国产97在线亚洲| 亚洲片国产一区一级在线观看| 日韩视频永久免费观看| 国产日韩欧美影视| 精品久久香蕉国产线看观看亚洲| 日韩专区在线观看| 亚洲色图第三页| 亚洲电影免费观看高清完整版在线观看| 亚洲jizzjizz日本少妇| 亚洲欧洲在线观看| 日韩亚洲综合在线| 亚洲欧美日韩直播| 中文字幕精品—区二区| 曰本色欧美视频在线| 日韩电影第一页| 日韩av电影在线免费播放| 欧美精品免费在线观看| 欧美激情在线视频二区| 91av成人在线| 久久夜色精品国产欧美乱| 日韩少妇与小伙激情| 国产成人免费91av在线| 亚洲男人天堂九九视频| 欧美精品videos性欧美| 成人免费视频网址| 亚洲精品suv精品一区二区| 夜夜嗨av色综合久久久综合网| 国产精品99久久久久久白浆小说| 久久人91精品久久久久久不卡| 国产日韩在线亚洲字幕中文| 精品久久久久久久久久ntr影视| 日韩精品在线观看一区二区| 国产美女精品视频免费观看| 中文字幕日韩在线播放| 亚洲韩国青草视频| 国产亚洲aⅴaaaaaa毛片| 日韩电影中文字幕在线观看| 欧美另类在线播放| 欧美福利视频在线观看| 国产成人精品网站| 97超级碰在线看视频免费在线看| 91网站免费观看| 亚洲欧洲一区二区三区久久| 日韩精品中文在线观看| 国产一区二区三区直播精品电影| 欧美一级成年大片在线观看| 亚洲视频777| 亚洲精品视频网上网址在线观看| 福利微拍一区二区| 亚洲电影免费观看高清完整版| 国产精品极品美女在线观看免费| 日韩免费黄色av| 日韩欧美亚洲成人| 色婷婷成人综合| 中文日韩在线观看| 菠萝蜜影院一区二区免费| 岛国av一区二区在线在线观看| 欧美性猛交xxxx免费看漫画| 亚洲视频在线免费看| 91久久在线视频| 国产亚洲aⅴaaaaaa毛片| 国产精品久久一区主播| 97国产在线视频| 日韩欧美在线一区| 国产精品欧美激情| 国产精品三级久久久久久电影| 成人激情视频在线播放| 97精品视频在线播放| 欧美日韩国产精品一区| 清纯唯美亚洲综合| 青草热久免费精品视频| 懂色av一区二区三区| 555www成人网| 法国裸体一区二区| 久久久av电影| 中文字幕免费精品一区高清| 欧美日韩一区二区三区在线免费观看| 国产成人小视频在线观看| 国产精品日韩欧美综合| 日韩欧美在线国产| 亚洲激情视频在线| 中文字幕亚洲图片| 日本精品中文字幕| 在线播放国产一区中文字幕剧情欧美| 国产精品久久久亚洲| 国产一区二区久久精品| 欧美极度另类性三渗透| 中文国产亚洲喷潮| 精品福利樱桃av导航| 欧美成人午夜视频| 91精品国产高清久久久久久| 国产v综合v亚洲欧美久久| 中日韩午夜理伦电影免费| 国产成人精品在线| 国产欧美一区二区三区久久人妖| 亚洲国产欧美精品| 国产精品久久久久久久久久久新郎| 亚洲欧美日韩视频一区| 日韩中文字在线| 日本最新高清不卡中文字幕| 亚洲福利在线视频| 国产一区二区黑人欧美xxxx| 久久久999精品免费| 国产盗摄xxxx视频xxx69| 在线视频欧美日韩| 国产精品免费久久久久久| 美女扒开尿口让男人操亚洲视频网站| 亚洲午夜av久久乱码| 欧美日韩福利在线观看| 亚洲男人的天堂在线| 97精品国产91久久久久久| 伊人久久五月天| 日韩中文字幕在线视频| 91久久国产综合久久91精品网站| 国产裸体写真av一区二区| 77777亚洲午夜久久多人| 成人美女免费网站视频| 久久精品亚洲一区| 国产日韩欧美一二三区| 欧美亚洲视频在线观看| 成人黄在线观看| 日韩美女免费观看| 日韩在线观看免费高清| 精品福利在线看| 成人做爰www免费看视频网站| 精品久久在线播放| 欧美亚洲激情视频| 日韩中文字幕在线播放| 欧美日本黄视频| 国模私拍视频一区| 欧美激情中文字幕在线| 国产综合久久久久久| 91成人在线播放| 丝袜亚洲欧美日韩综合| 久久精品亚洲94久久精品| 久久97精品久久久久久久不卡| 欧美日本啪啪无遮挡网站| 亚洲天堂视频在线观看| 欧亚精品在线观看| 亚洲欧洲午夜一线一品| 亚洲女人天堂色在线7777| 久久的精品视频| 国产在线精品成人一区二区三区| 久久久午夜视频| 国产成人免费91av在线| 国产一区二区在线播放| 欧美在线性爱视频| 日韩久久精品成人| 色久欧美在线视频观看| 亚洲精品久久久久久下一站| 国产精品美女久久久免费| 欧美精品videossex性护士| 国产91精品不卡视频| 国产精品va在线播放我和闺蜜| 欧美老女人性生活| 成人免费午夜电影| 亚洲精品久久久久中文字幕二区|