當(dāng)前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
安卓JSON格式化工具
生活随笔
收集整理的這篇文章主要介紹了
安卓JSON格式化工具
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
在日常工作中,后端返回的報文有時候格式比較混亂,不方便我們解析。然后我網(wǎng)上搜了一下,好像離線版的安卓平臺JSON格式化工具并不多。不過沒關(guān)系,沒有的話那就去創(chuàng)造一個。
實現(xiàn)方法
實現(xiàn)方法其實很簡單,直接利用GSON格式化就可以了,可以說毫無技術(shù)含量,不過近期在學(xué)習(xí)Kotlin,對于退出程序,自定義彈框這樣的步驟,嘗試使用Kotlin去實現(xiàn),感覺還是有一定的收獲的。
界面截圖
部分代碼
package com.example.jsonhelperimport android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.graphics.Color import android.os.Bundle import android.widget.* import com.example.jsonhelper.framework.LyyBaseActivity import com.google.gson.GsonBuilder import com.google.gson.JsonParser import org.json.JSONArray import org.json.JSONObjectclass ResultActivity : LyyBaseActivity() {private lateinit var tipLl:LinearLayoutprivate lateinit var tipIv:ImageViewprivate lateinit var tipTv:TextViewprivate lateinit var sv:ScrollViewprivate lateinit var resultTv:TextViewprivate lateinit var copyBtn:Buttonoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_result)initViews()initTitleBar(title = "格式化結(jié)果", isShowBackIcon = true)initEvents()}private fun initViews() {tipLl=findViewById(R.id.tipLl)tipIv=findViewById(R.id.tipIv)tipTv=findViewById(R.id.tipTv)sv=findViewById(R.id.sv)resultTv=findViewById(R.id.resultTv)copyBtn=findViewById(R.id.copyBtn)val jsonStr = intent.getStringExtra(MainActivity.DATA_KEY)if (jsonStr!=null&&isJSONStr(jsonStr)){tipTv.text="老鐵,這個JSON沒毛病!"tipTv.setTextColor(Color.parseColor("#419F4B"))tipIv.setImageResource(R.drawable.icons8_checkmark_96px)val gson = GsonBuilder().setPrettyPrinting().serializeNulls().create()val resultText = gson.toJson(JsonParser.parseString(jsonStr))resultTv.setText(resultText)copyBtn.isEnabled=true}else{tipTv.text="老鐵,這個JSON有點問題!"tipTv.setTextColor(Color.parseColor("#F64439"))tipIv.setImageResource(R.drawable.icons8_delete_sign_96px)resultTv.text=""copyBtn.isEnabled=false}}/*** 判斷字符串是否為JSON字符串。既不是對象,也不是數(shù)組,那么它就不是JSON字符串,否則就是JSON字符串*/private fun isJSONStr(str:String):Boolean{try {JSONObject(str)} catch (e: Exception) {try {JSONArray(str)} catch (e: Exception) {return false}}return true}private fun initEvents() {copyBtn.setOnClickListener {copyText(resultTv.text.toString())}}private fun copyText(content:String){val clipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManagerval text = ClipData.newPlainText("LABEL", content)clipboardManager.setPrimaryClip(text)Toast.makeText(this,"復(fù)制成功!",Toast.LENGTH_SHORT).show()}}安裝包下載
鏈接:https://pan.baidu.com/s/1CqgXjbG3ZNICpKOEWSGKzw
提取碼:8jn4
項目完整源碼
已經(jīng)放到碼云上,點我跳轉(zhuǎn)
總結(jié)
以上是生活随笔為你收集整理的安卓JSON格式化工具的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java类嵌套_java-嵌套类
- 下一篇: 计算机按键的功能介绍时间,计算器的日期键