安卓JSON格式化工具

前言

在日常工作中,后端返回的报文有时候格式比较混乱,不方便我们解析。然后我网上搜了一下,好像离线版的安卓平台JSON格式化工具并不多。不过没关系,没有的话那就去创造一个。

实现方法

实现方法其实很简单,直接利用GSON格式化就可以了,可以说毫无技术含量,不过近期在学习Kotlin,对于退出程序,自定义弹框这样的步骤,尝试使用Kotlin去实现,感觉还是有一定的收获的。

界面截图

在这里插入图片描述
在这里插入图片描述

部分代码

package com.example.jsonhelper

import 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.JSONObject

class ResultActivity : LyyBaseActivity() {
    private lateinit var tipLl:LinearLayout
    private lateinit var tipIv:ImageView
    private lateinit var tipTv:TextView
    private lateinit var sv:ScrollView
    private lateinit var resultTv:TextView
    private lateinit var copyBtn:Button
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_result)
        initViews()
        initTitleBar(title = "格式化结果", 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字符串。既不是对象,也不是数组,那么它就不是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 ClipboardManager
        val text = ClipData.newPlainText("LABEL", content)
        clipboardManager.setPrimaryClip(text)
        Toast.makeText(this,"复制成功!",Toast.LENGTH_SHORT).show()
    }


}

安装包下载

链接:https://pan.baidu.com/s/1CqgXjbG3ZNICpKOEWSGKzw
提取码:8jn4

项目完整源码

已经放到码云上,点我跳转

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Android Studio中,可以使用JSON来处理数据。JSON是一种轻量级的数据交换格式,常用于Web应用程序和移动应用程序中。以下是在Android Studio中使用JSON的一些步骤: 1. 导入JSON库:在build.gradle文件中添加以下依赖项: ``` dependencies { implementation 'com.google.code.gson:gson:2.8.6' } ``` 2. 创建JSON对象:可以使用Gson库创建JSON对象。例如: ``` Gson gson = new Gson(); String json = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}"; Person person = gson.fromJson(json, Person.class); ``` 3. 解析JSON数据:可以使用JSON对象的get()方法获取JSON数据。例如: ``` JSONObject jsonObject = new JSONObject(json); String name = jsonObject.getString("name"); int age = jsonObject.getInt("age"); String city = jsonObject.getString("city"); ``` 4. 生成JSON数据:可以使用JSON对象的put()方法生成JSON数据。例如: ``` JSONObject jsonObject = new JSONObject(); jsonObject.put("name", "John"); jsonObject.put("age", 30); jsonObject.put("city", "New York"); String json = jsonObject.toString(); ``` 以上是在Android Studio中使用JSON的一些基本步骤。使用JSON可以方便地处理数据,使得应用程序更加灵活和可扩展。 ### 回答2: Android Studio是一款强大的集成开发环境,支持开发Android应用程序。在Android开发中,处理JSON数据是非常常见的任务之一。 Android Studio提供了许多工具和类库,使得JSON的使用更加方便。以下是一些在Android Studio中处理JSON数据的常用方法: 1. 解析JSON数据:Android Studio提供了JsonReader和JsonParser等类库,可以用来解析JSON数据。通过这些类库,可以将JSON数据解析为Java对象,并在应用程序中进行操作。 2. 创建JSON数据:Android Studio还提供了JsonWriter和JsonGenerator等类库,可以用来创建JSON数据。通过这些类库,可以将Java对象转换为JSON格式,并在应用程序中进行传输、存储等操作。 3. 处理JSON数组:Android Studio中的JSONArray类可以用来处理JSON数组数据。通过JSONArray类,可以遍历JSON数组、获取数组中的元素,并进行相应的操作。 4. 处理JSON对象:Android Studio中的JSONObject类可以用来处理JSON对象数据。通过JSONObject类,可以获取JSON对象中的属性值,并进行相应的操作。 除了以上方法外,Android Studio还提供了其他一些便捷的方法,如使用Gson库进行JSON数据的序列化和反序列化、使用Retrofit库进行网络请求时自动解析JSON数据等。 总而言之,在Android Studio中使用JSON非常方便。通过相关的类库和工具,可以轻松地解析和创建JSON数据,处理JSON数组和对象,并进行数据传输、存储等操作。掌握这些方法,可以更高效地开发Android应用程序。 ### 回答3: 在Android Studio中,使用JSON(JavaScript Object Notation)可以方便地进行数据的传输和解析。以下是使用JSON的一些常见方法和注意事项: 1. 创建JSON对象:可以使用JSONObject类来创建一个空的JSON对象。通过调用其put()方法,可以将键值对添加到JSON对象中。 2. 解析JSON字符串:可以使用JSON对象的构造函数来解析JSON字符串,将其转换为相应的Java对象。例如,可以通过调用JSONObject的构造函数并传入一个JSON字符串,将其转换为JSON对象。 3. 访问JSON对象中的数据:可以使用JSON对象的get()方法来访问JSON对象中的数据。通过指定键值,可以获取相应的值并将其转换为所需的数据类型。 4. 创建JSON数组:可以使用JSONArray类来创建一个空的JSON数组。通过调用其put()方法,可以将元素添加到JSON数组中。 5. 解析JSON数组:可以使用JSONArray类的构造函数来解析JSON数组。通过将JSON数组作为参数传递给构造函数,可以将其转换为Java中的JSONArray对象。 6. 访问JSON数组中的数据:可以使用JSONArray对象的get()方法来访问JSON数组中的数据。通过指定索引,可以获取相应位置的值并将其转换为所需的数据类型。 在使用JSON时,还需要注意以下几点: 1. 判断JSON是否为空:可以使用JSON对象的isNull()方法来判断一个JSON对象是否为空。 2. 处理异常:在解析JSON时,可能会发生异常。为了避免应用程序崩溃,应该使用try-catch语句来处理异常。 3. 注意JSON格式JSON格式必须符合规定的格式要求,否则可能会导致解析失败。 4. 处理特殊字符:在处理JSON字符串时,需要注意转义特殊字符,例如双引号、换行符等。 总而言之,Android Studio提供了丰富的工具和类库来支持JSON的使用。通过学习和掌握这些方法,可以方便地在Android应用中进行JSON数据的传输和解析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值