JSON解析(错一)

场景

纯数据

[
  {
    "cjrq": 1528968186000,
    "id": "8bd9459d-6fb4-11e8-911e-408d5c2d",
    "qkmc": "东胜",
    "sfzy": "1"
  },
  {
    "cjrq": 1528968186000,
    "id": "8bd949bf-6fb4-11e8-911e-408d5c2d",
    "qkmc": "午223",
    "sfzy": "1"
  },
  {
    "cjrq": 1528968186000,
    "id": "8bd94a5c-6fb4-11e8-911e-408d5c2d",
    "qkmc": "华池",
    "sfzy": "1"
  }
]

实体类

package bean.sync;

/**
 * Created on 2018/6/22.
 *
 * @desc 区块
 */
public class Block {
    /**
     * cjrq : 1528968186000
     * id : 8bd9459d-6fb4-11e8-911e-408d5c2d
     * qkmc : 东胜
     * sfzy : 1
     */
    private long cjrq;
    private String id;
    private String qkmc;
    private String sfzy;

    public long getCjrq() {
        return cjrq;
    }

    public void setCjrq(long cjrq) {
        this.cjrq = cjrq;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getQkmc() {
        return qkmc;
    }

    public void setQkmc(String qkmc) {
        this.qkmc = qkmc;
    }

    public String getSfzy() {
        return sfzy;
    }

    public void setSfzy(String sfzy) {
        this.sfzy = sfzy;
    }

    @Override
    public String toString() {
        return "Block{" +
                "cjrq=" + cjrq +
                ", id='" + id + '\'' +
                ", qkmc='" + qkmc + '\'' +
                ", sfzy='" + sfzy + '\'' +
                '}';
    }
}

主代码

OkHttpUtils
    .post()
    .url(Url.SYNC_BLOCK)
    .tag(this)
    .build()
    .execute(new StringCallback() {
        @Override
        public void onError(Call call, Exception e, int id) {

        }

        @Override
        public void onResponse(String response, int id) {
            Block block = new Gson().fromJson(response, Block.class);
        }
    });

日志

解决 参考

package util;

import com.google.gson.JsonArray;
import com.google.gson.JsonParser;

/**
 * Created on 2018/6/25.
 *
 * @desc JSON解析
 */
public class JsonParse {
    /**
     * 纯数组
     * [
     * {
     * "cjrq": 1528968186000,
     * "id": "8bd9459d-6fb4-11e8-911e-408d5c2d",
     * "qkmc": "东胜",
     * "sfzy": "1"
     * }
     * ]
     */
    public static JsonArray noHeaderArrayParse(String jsonString) {
        // JSON解析类对象
        JsonParser parser = new JsonParser();
        // 转JSON串为JsonArray
        return parser.parse(jsonString).getAsJsonArray();
    }
}

主代码

OkHttpUtils
    .post()
    .url(Url.SYNC_BLOCK)
    .tag(this)
    .build()
    .execute(new StringCallback() {
        @Override
        public void onError(Call call, Exception e, int id) {

        }

        @Override
            public void onResponse(String response, int id) {
            // 加强for循环遍历JsonArray
            for (JsonElement jsonElement : JsonParse.noHeaderArrayParse(response)) {
                // GSON直转Bean
                Block block = new Gson().fromJson(jsonElement, Block.class);
                blockList.add(block);               
            }
        }
    });

猜你喜欢

转载自blog.csdn.net/zsp_android_com/article/details/80799728