diff --git a/src/en/mangarock/build.gradle b/src/en/mangarock/build.gradle
index be5735081..06c49cbed 100644
--- a/src/en/mangarock/build.gradle
+++ b/src/en/mangarock/build.gradle
@@ -5,12 +5,13 @@ ext {
     appName = 'Tachiyomi: Manga Rock'
     pkgNameSuffix = 'en.mangarock'
     extClass = '.MangaRock'
-    extVersionCode = 6
+    extVersionCode = 7
     libVersion = '1.0'
 }
 
 dependencies {
-    compileOnly 'com.google.code.gson:gson:2.8.2'
+    compileOnly 'com.google.code.gson:gson:2.8.5'
+    compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0'
 }
 
 apply from: "$rootDir/common.gradle"
diff --git a/src/en/mangarock/src/eu/kanade/tachiyomi/extension/en/mangarock/MangaRock.kt b/src/en/mangarock/src/eu/kanade/tachiyomi/extension/en/mangarock/MangaRock.kt
index 8b4a59b50..90549f2fb 100644
--- a/src/en/mangarock/src/eu/kanade/tachiyomi/extension/en/mangarock/MangaRock.kt
+++ b/src/en/mangarock/src/eu/kanade/tachiyomi/extension/en/mangarock/MangaRock.kt
@@ -1,13 +1,24 @@
 package eu.kanade.tachiyomi.extension.en.mangarock
 
-import com.google.gson.GsonBuilder
+import com.github.salomonbrys.kotson.jsonObject
+import com.github.salomonbrys.kotson.set
 import eu.kanade.tachiyomi.network.GET
 import eu.kanade.tachiyomi.network.POST
-import eu.kanade.tachiyomi.source.model.*
+import eu.kanade.tachiyomi.source.model.Filter
+import eu.kanade.tachiyomi.source.model.FilterList
+import eu.kanade.tachiyomi.source.model.MangasPage
+import eu.kanade.tachiyomi.source.model.Page
+import eu.kanade.tachiyomi.source.model.SChapter
+import eu.kanade.tachiyomi.source.model.SManga
 import eu.kanade.tachiyomi.source.online.HttpSource
-import okhttp3.*
+import okhttp3.MediaType
+import okhttp3.OkHttpClient
+import okhttp3.Request
+import okhttp3.RequestBody
+import okhttp3.Response
+import okhttp3.ResponseBody
 import org.json.JSONObject
-import java.util.*
+import java.util.ArrayList
 import kotlin.experimental.and
 import kotlin.experimental.xor
 
@@ -59,14 +70,13 @@ class MangaRock : HttpSource() {
 
     override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
         val jsonType = MediaType.parse("application/jsonType; charset=utf-8")
-        val gson = GsonBuilder().create()
 
         // Filter
         if (query.isBlank()) {
             var status = ""
             var rank = ""
             var orderBy = ""
-            var genres = ""
+            val genres = jsonObject()
             filters.forEach { filter ->
                 when (filter) {
                     is StatusFilter -> {
@@ -83,22 +93,27 @@ class MangaRock : HttpSource() {
                         orderBy = filter.toUriPart()
                     }
                     is GenreList -> {
-                        genres = filter.state
-                                .filter { genre -> genre.state != Filter.TriState.STATE_IGNORE }
-                                .map { genre ->
-                                    "\"${genre.id}\": ${if (genre.state == Filter.TriState.STATE_INCLUDE) "true" else "false"}"
-                                }
-                                .joinToString(",")
+                        filter.state
+                                .filter { it.state != Filter.TriState.STATE_IGNORE }
+                                .forEach { genres[it.id] = it.state == Filter.TriState.STATE_INCLUDE }
                     }
                 }
             }
 
-            val body = RequestBody.create(jsonType, gson.toJson(mapOf("status" to status, "genres" to genres, "rank" to rank, "order" to orderBy)))
+            val body = RequestBody.create(jsonType, jsonObject(
+                    "status" to status,
+                    "genres" to genres,
+                    "rank" to rank,
+                    "order" to orderBy
+            ).toString())
             return POST("$baseUrl/mrs_filter", headers, body)
         }
 
         // Regular search
-        val body = RequestBody.create(jsonType, gson.toJson(mapOf("type" to "series", "keywords" to query)))
+        val body = RequestBody.create(jsonType, jsonObject(
+                "type" to "series",
+                "keywords" to query
+        ).toString())
         return POST("$baseUrl/mrs_search", headers, body)
     }