TEL:400-8793-956
当前位置:程序、服务器

如何使用GSON库解析和读取JSON数组

提问者: 近期获赞: 浏览人数: 发布时间:2020-12-23 14:16:29

 问:如何解析以下类型的API响应

 
    [
    {
    “ id”:“ xxxxxx”,
    “ displayLabel”:“ xxxxxxx”,
    “名称”:“ xxxxxxx”,
    “ fieldType”:“ Dropdown”,
    “必填”:false,
    “可编辑”:是的,
    “描述”:“ xxxxxx”,
    “选项”:[
    “臭虫”,
    “特征”,
    “增强”
    ]
    },
    {
    “ id”:“ xxxxxxx”,
    “ displayLabel”:“ xxxxxx”,
    “ name”:“ fix_version_8”,
    “ fieldType”:“ xxxxxxx”,
    “必填”:false,
    “可编辑”:false,
    “说明”:“ xxxxxxx”
    }
    ]
 
 
答:模态类
 
 
包com.example.amitrai.internettest;
 
导入java.io.Serializable;
 
/ **
 *由amitrai在15年8月28日创建。
 * /
公共类Modalone实现了Serializable {
 
    字符串ID,
            displayLabel,名称,
            fieldType,必填,
            可编辑,说明,
 
    选项,错误,功能,增强;
 
 
    公共字符串getId(){
        返回ID;
    }
 
    公共无效setId(字符串id){
        this.id = id;
    }
 
    公共字符串getDisplayLabel(){
        返回displayLabel;
    }
 
    public void setDisplayLabel(String displayLabel){
        this.displayLabel = displayLabel;
    }
 
    公共字符串getName(){
        返回名称;
    }
 
    公共无效setName(String name){
        this.name =名称;
    }
 
    公共字符串getFieldType(){
        返回fieldType;
    }
 
    公共无效setFieldType(String fieldType){
        this.fieldType = fieldType;
    }
 
    公共字符串getMandatory(){
        返回强制性
    }
 
    公共无效setMandatory(强制字符串){
        this.mandatory =强制性的;
    }
 
    公共字符串getEditable(){
        返回可编辑;
    }
 
    public void setEditable(String editable){
        this.editable =可编辑;
    }
 
    公共字符串getDescription(){
        返回说明;
    }
 
    公共无效setDescription(字符串描述){
        this.description =说明;
    }
 
    公共字符串getOptions(){
        返回选项;
    }
 
    public void setOptions(String options){
        this.options =选项;
    }
 
    公共字符串getBug(){
        返回错误;
    }
 
    公共无效setBug(String bug){
        错误=错误;
    }
 
    公共字符串getFeature(){
        返回特征;
    }
 
    public void setFeature(String feature){
        功能=功能;
    }
 
    公共字符串getEnhancement(){
        返回增强;
    }
 
    公共无效setEnhancement(字符串增强){
        增强=增强;
    }
}
模式二
 
包com.example.amitrai.internettest.modal;
 
导入java.io.Serializable;
 
/ **
 *由amitrai在15年8月28日创建。
 * /
公共类Modaltwo实现了Serializable {
 
    公共字符串ID,
            displayLabel,
            名称,fieldType,
            强制性
            可编辑的
            描述;
 
    公共字符串getId(){
        返回ID;
    }
 
    公共无效setId(字符串id){
        this.id = id;
    }
 
    公共字符串getDisplayLabel(){
        返回displayLabel;
    }
 
    public void setDisplayLabel(String displayLabel){
        this.displayLabel = displayLabel;
    }
 
    公共字符串getName(){
        返回名称;
    }
 
    公共无效setName(String name){
        this.name =名称;
    }
 
    公共字符串getFieldType(){
        返回fieldType;
    }
 
    公共无效setFieldType(String fieldType){
        this.fieldType = fieldType;
    }
 
    公共字符串getMandatory(){
        返回强制性
    }
 
    公共无效setMandatory(强制字符串){
        this.mandatory =强制性的;
    }
 
    公共字符串getEditable(){
        返回可编辑;
    }
 
    public void setEditable(String editable){
        this.editable =可编辑;
    }
 
    公共字符串getDescription(){
        返回说明;
    }
 
    公共无效setDescription(字符串描述){
        this.description =说明;
    }
}
 
解析代码
 
 
//使用gson解析数据
    私人void parseData(){
 
        尝试{
 
            JSONArray jsonArray =新的JSONArray(response);
            JSONObject obj = jsonArray.getJSONObject(0);
            JSONObject obj_two = jsonArray.getJSONObject(1);
 
            Gson gson =新的Gson();
            Modaltwo gsonObj = gson.fromJson(obj.toString(),Modaltwo.class);
            Modalone modalone = gson.fromJson(obj_two.toString(),Modalone.class);
 
            Log.e(“ response”,“” + gsonObj);
            Log.e(“ response”,“” + modalone);
 
 
        } catch(Exception e){
            e.printStackTrace();
        }
    }
上一篇: angularJS中的按键验证
下一篇: Servlet文件中的Java Web错误