// Path: app/src/main/java/com/bean/simplenews/module/news/model/bean/NewsDetailBean.java
// public class NewsDetailBean implements Serializable {
// 
//     private String title;
//     private String body;
//     private List<Image> img;   //图片列表
// 
//     public String getTitle() {
//         return title;
//     }
//     public void setTitle(String title) {
//         this.title = title;
//     }
//     public String getBody() {
//         return body;
//     }
//     public void setBody(String body) {
//         this.body = body;
//     }
//     public List<Image> getImg() {
//         return img;
//     }
//     public void setImg(List<Image> imgList) {
//         this.img = imgList;
//     }
// 
//     public class Image {
//         private String ref;
//         private String src;
// 
//         public String getRef() {
//             return ref;
//         }
//         public void setRef(String ref) {
//             this.ref = ref;
//         }
//         public String getSrc() {
//             return src;
//         }
//         public void setSrc(String src) {
//             this.src = src;
//         }
//     }
// }
// 
// Path: app/src/main/java/com/bean/simplenews/util/JsonUtils.java
// public class JsonUtils {
// 
//     private static Gson mGson = new Gson();
// 
//     /**
//      * 将对象准换为json字符串
//      * @param object
//      * @param <T>
//      * @return
//      */
//     public static <T> String serialize(T object) {
//         return mGson.toJson(object);
//     }
// 
//     /**
//      * 将json字符串转换为对象
//      * @param json
//      * @param clz
//      * @param <T>
//      * @return
//      */
//     public static <T> T deserialize(String json, Class<T> clz) throws JsonSyntaxException {
//         return mGson.fromJson(json, clz);
//     }
// 
//     /**
//      * 将json对象转换为实体对象
//      * @param json
//      * @param clz
//      * @param <T>
//      * @return
//      * @throws JsonSyntaxException
//      */
//     public static <T> T deserialize(JsonObject json, Class<T> clz) throws JsonSyntaxException {
//         return mGson.fromJson(json, clz);
//     }
// 
//     /**
//      * 将json字符串转换为对象
//      * @param json
//      * @param type
//      * @param <T>
//      * @return
//      */
//     public static <T> T deserialize(String json, Type type) throws JsonSyntaxException {
//         return mGson.fromJson(json, type);
//     }
// 
// }
// 
// Path: app/src/main/java/com/bean/simplenews/util/LogUtils.java
// public class LogUtils {
// 
//     public static void v(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.v(tag, message);
//         }
//     }
// 
//     public static void d(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.d(tag, message);
//         }
//     }
// 
//     public static void i(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.i(tag, message);
//         }
//     }
// 
//     public static void w(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.w(tag, message);
//         }
//     }
// 
//     public static void e(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.e(tag, message);
//         }
//     }
// 
//     public static void e(String tag, String message, Exception e) {
//         if(Constants.DEBUG) {
//             Log.e(tag, message, e);
//         }
//     }
// }


import com.bean.simplenews.module.news.model.bean.NewsDetailBean;
import com.bean.simplenews.util.JsonUtils;
import com.bean.simplenews.util.LogUtils;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.IOException;
import okhttp3.ResponseBody;
import retrofit2.Converter;
package com.bean.simplenews.module.news.model.converter;




public class NewsDetailResponseBodyConverter<T> implements Converter<ResponseBody,T> {

    private JsonParser parser;

    NewsDetailResponseBodyConverter(JsonParser jsonPaser) {
        parser = jsonPaser;
    }
    @Override
    public T convert(ResponseBody body) throws IOException {
        NewsDetailBean newsDetailBean;

        String value = body.string();
        int indexA = value.indexOf('"'); int indexB = value.indexOf('"',5);
        String docId = value.substring(indexA+1,indexB);

        JsonObject jsonObj = parser.parse(value).getAsJsonObject();
        JsonElement jsonElement = jsonObj.get(docId);
        if(jsonElement == null) {
            return null;
        }
// Path: app/src/main/java/com/bean/simplenews/module/news/model/bean/NewsDetailBean.java
// public class NewsDetailBean implements Serializable {
// 
//     private String title;
//     private String body;
//     private List<Image> img;   //图片列表
// 
//     public String getTitle() {
//         return title;
//     }
//     public void setTitle(String title) {
//         this.title = title;
//     }
//     public String getBody() {
//         return body;
//     }
//     public void setBody(String body) {
//         this.body = body;
//     }
//     public List<Image> getImg() {
//         return img;
//     }
//     public void setImg(List<Image> imgList) {
//         this.img = imgList;
//     }
// 
//     public class Image {
//         private String ref;
//         private String src;
// 
//         public String getRef() {
//             return ref;
//         }
//         public void setRef(String ref) {
//             this.ref = ref;
//         }
//         public String getSrc() {
//             return src;
//         }
//         public void setSrc(String src) {
//             this.src = src;
//         }
//     }
// }
// 
// Path: app/src/main/java/com/bean/simplenews/util/JsonUtils.java
// public class JsonUtils {
// 
//     private static Gson mGson = new Gson();
// 
//     /**
//      * 将对象准换为json字符串
//      * @param object
//      * @param <T>
//      * @return
//      */
//     public static <T> String serialize(T object) {
//         return mGson.toJson(object);
//     }
// 
//     /**
//      * 将json字符串转换为对象
//      * @param json
//      * @param clz
//      * @param <T>
//      * @return
//      */
//     public static <T> T deserialize(String json, Class<T> clz) throws JsonSyntaxException {
//         return mGson.fromJson(json, clz);
//     }
// 
//     /**
//      * 将json对象转换为实体对象
//      * @param json
//      * @param clz
//      * @param <T>
//      * @return
//      * @throws JsonSyntaxException
//      */
//     public static <T> T deserialize(JsonObject json, Class<T> clz) throws JsonSyntaxException {
//         return mGson.fromJson(json, clz);
//     }
// 
//     /**
//      * 将json字符串转换为对象
//      * @param json
//      * @param type
//      * @param <T>
//      * @return
//      */
//     public static <T> T deserialize(String json, Type type) throws JsonSyntaxException {
//         return mGson.fromJson(json, type);
//     }
// 
// }
// 
// Path: app/src/main/java/com/bean/simplenews/util/LogUtils.java
// public class LogUtils {
// 
//     public static void v(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.v(tag, message);
//         }
//     }
// 
//     public static void d(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.d(tag, message);
//         }
//     }
// 
//     public static void i(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.i(tag, message);
//         }
//     }
// 
//     public static void w(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.w(tag, message);
//         }
//     }
// 
//     public static void e(String tag, String message) {
//         if(Constants.DEBUG) {
//             Log.e(tag, message);
//         }
//     }
// 
//     public static void e(String tag, String message, Exception e) {
//         if(Constants.DEBUG) {
//             Log.e(tag, message, e);
//         }
//     }
// }


// Path: app/src/main/java/com/bean/simplenews/module/news/model/converter/NewsDetailResponseBodyConverter.java
import com.bean.simplenews.module.news.model.bean.NewsDetailBean;
import com.bean.simplenews.util.JsonUtils;
import com.bean.simplenews.util.LogUtils;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.io.IOException;
import okhttp3.ResponseBody;
import retrofit2.Converter;

package com.bean.simplenews.module.news.model.converter;




public class NewsDetailResponseBodyConverter<T> implements Converter<ResponseBody,T> {

    private JsonParser parser;

    NewsDetailResponseBodyConverter(JsonParser jsonPaser) {
        parser = jsonPaser;
    }
    @Override
    public T convert(ResponseBody body) throws IOException {
        NewsDetailBean newsDetailBean;

        String value = body.string();
        int indexA = value.indexOf('"'); int indexB = value.indexOf('"',5);
        String docId = value.substring(indexA+1,indexB);

        JsonObject jsonObj = parser.parse(value).getAsJsonObject();
        JsonElement jsonElement = jsonObj.get(docId);
        if(jsonElement == null) {
            return null;
        }
        newsDetailBean = JsonUtils.deserialize(jsonElement.getAsJsonObject(), NewsDetailBean.class);