Простой и легкий репозиторий предварительного просмотра json на Android

Как использовать

  1. импортируйте активы в свой проект
  2. инициализировать веб-просмотр
binding.webView.settings.apply {
            javaScriptEnabled = true
            javaScriptCanOpenWindowsAutomatically = true
            setSupportZoom(true)
            useWideViewPort = true
            builtInZoomControls = true
        }
        binding.webView.addJavascriptInterface(JsInterface(this@MainActivity), "json_parse")

затем загрузите preview_json.html

webView.loadUrl("file:///android_asset/preview_json.html")

3. Загрузите файл json и преобразуйте его в строку

webView.loadUrl("javascript:showJson($str)")

4. Сохраните JSON

inner class JsInterface(context: Context) {
        private val mContext: Context

        init {
            mContext = context
        }

        @JavascriptInterface
        fun configContentChanged() {
            runOnUiThread {
                contentChanged = true
            }
        }

        @JavascriptInterface
        fun toastJson(msg: String?) {
            runOnUiThread { Toast.makeText(mContext, msg, Toast.LENGTH_SHORT).show() }
        }

        // save json string
        @JavascriptInterface
        fun saveConfig(jsonString: String?) {
            runOnUiThread {
                contentChanged = false
                Toast.makeText(mContext, "verification succeed", Toast.LENGTH_SHORT).show()
            }
        }
        
        //format failed
        @JavascriptInterface
        fun parseJsonException(e: String?) {
            runOnUiThread {
                e?.takeIf { it.isNotBlank() }?.let { alert(it) }
            }
        }
    }