This commit is contained in:
kunfei
2023-03-21 22:35:45 +08:00
parent 9412c7f2d2
commit a60f3d84a6
2 changed files with 10 additions and 14 deletions
@@ -222,27 +222,16 @@ data class BookSource(
companion object {
private val gson by lazy {
GSON.newBuilder()
.registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer)
.registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer)
.registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer)
.registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer)
.registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer)
.registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer)
.create()
}
fun fromJson(json: String): Result<BookSource> {
return gson.fromJsonObject(json)
return GSON.fromJsonObject(json)
}
fun fromJsonArray(json: String): Result<List<BookSource>> {
return gson.fromJsonArray(json)
return GSON.fromJsonArray(json)
}
fun fromJsonArray(inputStream: InputStream): Result<List<BookSource>> {
return gson.fromJsonArray(inputStream)
return GSON.fromJsonArray(inputStream)
}
}
@@ -4,6 +4,7 @@ import com.google.gson.*
import com.google.gson.internal.LinkedTreeMap
import com.google.gson.reflect.TypeToken
import com.google.gson.stream.JsonWriter
import io.legado.app.data.entities.rule.*
import java.io.InputStream
import java.io.InputStreamReader
import java.io.OutputStream
@@ -21,6 +22,12 @@ val GSON: Gson by lazy {
)
.registerTypeAdapter(Int::class.java, IntJsonDeserializer())
.registerTypeAdapter(String::class.java, StringJsonDeserializer())
.registerTypeAdapter(ExploreRule::class.java, ExploreRule.jsonDeserializer)
.registerTypeAdapter(SearchRule::class.java, SearchRule.jsonDeserializer)
.registerTypeAdapter(BookInfoRule::class.java, BookInfoRule.jsonDeserializer)
.registerTypeAdapter(TocRule::class.java, TocRule.jsonDeserializer)
.registerTypeAdapter(ContentRule::class.java, ContentRule.jsonDeserializer)
.registerTypeAdapter(ReviewRule::class.java, ReviewRule.jsonDeserializer)
.disableHtmlEscaping()
.setPrettyPrinting()
.create()