加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

FastJson解析

发布时间:2020-12-16 19:37:16 所属栏目:百科 来源:网络整理
导读:从服务端那获取到一串Json数据,又臭又长,看着累,傻不拉几的我居然不懂得百度搜下JSON格式化工具,让数据好看懂些。(JSON校验格式化工具地址: http://www.bejson.com/) {"ValidprodList":[{"Period":null,"ProdName":" 活期理财","IntrsPeriod":0,"Peri
从服务端那获取到一串Json数据,又臭又长,看着累,傻不拉几的我居然不懂得百度搜下JSON格式化工具,让数据好看懂些。(JSON校验格式化工具地址: http://www.bejson.com/)
{"ValidprodList":[{"Period":null,"ProdName":" 活期理财","IntrsPeriod":0,"PeriodName":null,"Income":0,"Url":null,"DayIncome":0,"ProdState":0,"GrowthRate":3.7735,"YearOrofit":0,
"TotalIncome":0,"PredictIncome":0,"ContractId":null,"IsRedeemDate":0,"UnitMin":0,"AppModel":"50010202","ProductId":"000686",
"IncomeW":1.018,"LiquiEnd":null,"EndDate":null,"LiquiStart":null,"UnitMax":0,"TotalAsset":29,"ProdType":0,"Remark":null,
"RedeemType":0},{"Period":"20150817_sh001","ProdName":"定期理财","PredictIncome":1.03,"Principal":202,
"ContractId":"B51E3104931544B09845E041459FB9C9","IntrsPeriod":21,"UnitMin":0.2,
"AppModel":"50010201","PeriodName":"1000036期","ProductId":"KL1H00001","Income":1.77,"EndDate":"2015-09-11 20:00:00","Url":"http://download.lakala.com.cn/LCHT/KL1H00001_052203.html","UnitMax":2000000,
"ProdState":13,"LimitTime":"-11","ProdType":1,"GrowthRate":8.88,"RedeemType":0,"YearOrofit":8.88}],"TotalIncome":1.77,
"TotalAsset":232.77,"ApplyprodList":[],"_Guid":"067e34a0eb3c15994f3803b33747b260","EstimateIncome":1.03}
(从自己本地把数据复制黏贴,到这篇文章里排版很奇怪,大家复制黏贴到 JSON校验格式化工具里面是可以正常阅读的


如若还是觉得看不太懂形式,我来简写下,格式大致为{"Information":[ { " address":xx,"phone":xx},{" cd": xx} ] ,"name":xx,"sex":xx }
好,如何解析呢?

TotalAssets类,里面的变量是List<ValidprodApplyprodInfo>的ValidprodList和TotalIncome、TotalAsset、ApplyproList、_Guid、DayIncome、EstimateIncome6个变量,变量名一定不要给写错啦,那样就只能获取到null了。而ValidprodApplyprodInfo又是什么呢?(下文有提到)TotalAssets类中我写了一个方法parserStringToTotalAssets,是用来将String形式的Json转为TotalAssets类。
package com.lakala.shoudan.ui.business.shoudan.finance.bean;

import com.alibaba.fastjson.JSON;

import java.util.List;

/**
 * Created by HJP on 15/9/2.
 *
 */
public class TotalAssets {

    private List<ValidprodApplyprodInfo> ValidprodList;
    /**
     *累计收益
     */
    private double TotalIncome;
    /**
     *总资产
     */
    private double TotalAsset;

    private String ApplyprodList;
    /**
     *客户端guid  跟踪号
     */
    private String _Guid;

    private String EstimateIncome;

    public static TotalAssets parserStringToTotalAssets(String str){
        return JSON.parSEObject(str,TotalAssets.class);

    }

    public List<ValidprodApplyprodInfo> getValidprodList() {
        return ValidprodList;
    }

    public void setValidprodList(List<ValidprodApplyprodInfo> validprodList) {
        ValidprodList = validprodList;
    }

    public double getTotalIncome() {
        return TotalIncome;
    }

    public void setTotalIncome(double totalIncome) {
        TotalIncome = totalIncome;
    }

    public double getTotalAsset() {
        return TotalAsset;
    }

    public void setTotalAsset(double totalAsset) {
        TotalAsset = totalAsset;
    }

    public String getApplyprodList() {
        return ApplyprodList;
    }

    public void setApplyprodList(String applyprodList) {
        ApplyprodList = applyprodList;
    }

    public String get_Guid() {
        return _Guid;
    }

    public void set_Guid(String _Guid) {
        this._Guid = _Guid;
    }

    public String getEstimateIncome() {
        return EstimateIncome;
    }

    public void setEstimateIncome(String estimateIncome) {
        EstimateIncome = estimateIncome;
    }
}

ValidprodApplyprodInfo类,这个类名可以随便起。

package com.lakala.shoudan.ui.business.shoudan.finance.bean;

/**
 * Created by HJP on 2015/9/21.
 */
public class ValidprodApplyprodInfo {
    /**
     *发行期数
     */
    private String Period;
    /**
     *产品名称
     */
    private String ProdName;
    /**
     *预计收益
     */
    private double PredictIncome;
    /**
     *本金
     */
    private String Principal;
    /**
     *合同号
     */
    private String ContractId;
    private String IsRedeemDate;
    private String IntrsPeriod;
    private String UnitMin;
    /**
     *APP上使用的显示模版
     */
    private String AppModel;
    /**
     *期数名称
     */
    private String PeriodName;
    /**
     *产品编号
     */
    private String ProductId;
    private String Income;

    private String LiquiEnd;
    private String EndDate;

    private String Url;
    /**
     *昨日收益
     */
    private double DayIncome;
    private String LiquiStart;
    private String UnitMax;
    /**
     *产品状态 0-未开放,1-可(认)申购,2-已封闭,9-已失效
     */
    private int ProdState;
    /**
     *期限
     */
    private String LimitTime;
    /**
     *产品类型 0:活期  1:定期
     */
    private int ProdType;
    /**
     *收益率
     */
    private double GrowthRate;
    private String Remark;
    /**
     *是否可变现/赎回类型 0-不可变现,其他为可变现
     */
    private int RedeemType;

    private double YearOrofit;
    /**
     *累计收益
     */
    private double TotalIncome;
    /**
     *总资产
     */
    private double TotalAsset;

    private String ApplyprodList;
    /**
     *客户端guid  跟踪号
     */
    private String _Guid;

    private String EstimateIncome;

    public String getPeriod() {
        return Period;
    }

    public void setPeriod(String period) {
        Period = period;
    }

    public String getProdName() {
        return ProdName;
    }

    public void setProdName(String prodName) {
        ProdName = prodName;
    }

    public double getPredictIncome() {
        return PredictIncome;
    }

    public void setPredictIncome(double predictIncome) {
        PredictIncome = predictIncome;
    }

    public String getPrincipal() {
        return Principal;
    }

    public void setPrincipal(String principal) {
        Principal = principal;
    }

    public String getContractId() {
        return ContractId;
    }

    public void setContractId(String contractId) {
        ContractId = contractId;
    }

    public String getIsRedeemDate() {
        return IsRedeemDate;
    }

    public void setIsRedeemDate(String isRedeemDate) {
        IsRedeemDate = isRedeemDate;
    }

    public String getIntrsPeriod() {
        return IntrsPeriod;
    }

    public void setIntrsPeriod(String intrsPeriod) {
        IntrsPeriod = intrsPeriod;
    }

    public String getUnitMin() {
        return UnitMin;
    }

    public void setUnitMin(String unitMin) {
        UnitMin = unitMin;
    }

    public String getAppModel() {
        return AppModel;
    }

    public void setAppModel(String appModel) {
        AppModel = appModel;
    }

    public String getPeriodName() {
        return PeriodName;
    }

    public void setPeriodName(String periodName) {
        PeriodName = periodName;
    }

    public String getProductId() {
        return ProductId;
    }

    public void setProductId(String productId) {
        ProductId = productId;
    }

    public String getIncome() {
        return Income;
    }

    public void setIncome(String income) {
        Income = income;
    }

    public String getLiquiEnd() {
        return LiquiEnd;
    }

    public void setLiquiEnd(String liquiEnd) {
        LiquiEnd = liquiEnd;
    }

    public String getEndDate() {
        return EndDate;
    }

    public void setEndDate(String endDate) {
        EndDate = endDate;
    }

    public String getUrl() {
        return Url;
    }

    public void setUrl(String url) {
        Url = url;
    }

    public double getDayIncome() {
        return DayIncome;
    }

    public void setDayIncome(double dayIncome) {
        DayIncome = dayIncome;
    }

    public String getLiquiStart() {
        return LiquiStart;
    }

    public void setLiquiStart(String liquiStart) {
        LiquiStart = liquiStart;
    }

    public String getUnitMax() {
        return UnitMax;
    }

    public void setUnitMax(String unitMax) {
        UnitMax = unitMax;
    }

    public int getProdState() {
        return ProdState;
    }

    public void setProdState(int prodState) {
        ProdState = prodState;
    }

    public String getLimitTime() {
        return LimitTime;
    }

    public void setLimitTime(String limitTime) {
        LimitTime = limitTime;
    }

    public int getProdType() {
        return ProdType;
    }

    public void setProdType(int prodType) {
        ProdType = prodType;
    }

    public double getGrowthRate() {
        return GrowthRate;
    }

    public void setGrowthRate(double growthRate) {
        GrowthRate = growthRate;
    }

    public String getRemark() {
        return Remark;
    }

    public void setRemark(String remark) {
        Remark = remark;
    }

    public int getRedeemType() {
        return RedeemType;
    }

    public void setRedeemType(int redeemType) {
        RedeemType = redeemType;
    }

    public double getYearOrofit() {
        return YearOrofit;
    }

    public void setYearOrofit(double yearOrofit) {
        YearOrofit = yearOrofit;
    }

    public double getTotalIncome() {
        return TotalIncome;
    }

    public void setTotalIncome(double totalIncome) {
        TotalIncome = totalIncome;
    }

    public double getTotalAsset() {
        return TotalAsset;
    }

    public void setTotalAsset(double totalAsset) {
        TotalAsset = totalAsset;
    }

    public String getApplyprodList() {
        return ApplyprodList;
    }

    public void setApplyprodList(String applyprodList) {
        ApplyprodList = applyprodList;
    }

    public String get_Guid() {
        return _Guid;
    }

    public void set_Guid(String _Guid) {
        this._Guid = _Guid;
    }

    public String getEstimateIncome() {
        return EstimateIncome;
    }

    public void setEstimateIncome(String estimateIncome) {
        EstimateIncome = estimateIncome;
    }
}
建立了这两个类,就可以Json解析了。我下边根据自己项目的逻辑,截了点图。

1处的参数是我从服务端获取到的String形式的Json,2处就是所有的ValidprodList,3处取到了一条ValidprodList中的prodType。

感觉这篇文章写的不是很好。要是对各位有一点点帮助,也是很欣慰的。谢谢你们花时间阅读。

参考链接:http://blog.csdn.net/gaojinshan/article/details/30260707

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读