首页 > 代码库 > Android Json解析Kotlin
Android Json解析Kotlin
1. 首先讲一下什么是Json--下面的就是Json基本格式,其实就是一个键值对。
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
]}
2.
package Util
import com.example.jason_jan.guangdamiao.bean.Person
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject
import java.util.ArrayList
import java.util.HashMap
/**
* Created by Jason_Jan on 2017/7/5.
*/
class JsonUtil {
companion object {
/**
* 获取对象数据
* @param key
* *
* @param jsonString
* *
* @return
*/
fun getPerson(key: String, jsonString: String): Person {
val person = Person()
try {
val jsonObject = JSONObject(jsonString)
val personObject = jsonObject.getJSONObject(key)
person.UserID = personObject.getString("UserID")//这里看情况修改
} catch (e: JSONException) {
e.printStackTrace()
}
return person
}
/**
* 获取对象数组数据
* @param key
* *
* @param jsonString
* *
* @return
*/
fun getPersons(key: String, jsonString: String): List<Person> {
val list = ArrayList<Person>()
try {
val jsonObject = JSONObject(jsonString)
//返回json的数组
val jsonArray = jsonObject.getJSONArray(key)
for (i in 0..jsonArray.length() - 1) {
val jsonObject2 = jsonArray.getJSONObject(i)
val person = Person()//这里看情况修改
list.add(person)
}
} catch (e: JSONException) {
e.printStackTrace()
}
return list
}
/**
* 获取String数组数据
* @param key
* *
* @param jsonString
* *
* @return
*/
fun getList(key: String, jsonString: String): List<String> {
val list = ArrayList<String>()
try {
val jsonObject = JSONObject(jsonString)
val jsonArray = jsonObject.getJSONArray(key)
for (i in 0..jsonArray.length() - 1) {
val msg = jsonArray.getString(i)
list.add(msg)
}
} catch (e: JSONException) {
e.printStackTrace()
}
return list
}
/**
* 获取对象的Map集合数据
* @param key
* *
* @param jsonString
* *
* @return
*/
fun getListMap(key: String, jsonString: String): List<Map<String, Any>> {
val list = ArrayList<Map<String, Any>>()
try {
val jsonObject = JSONObject(jsonString)
val jsonArray = jsonObject.getJSONArray(key)
for (i in 0..jsonArray.length() - 1) {
val jsonObject2 = jsonArray.getJSONObject(i)
val map = HashMap<String, Any>()
val iterator = jsonObject2.keys()
while (iterator.hasNext()) {
val json_key = iterator.next()
var json_value: Any? = jsonObject2.get(json_key)
if (json_value =http://www.mamicode.com/= null) {
json_value = ""
}
map.put(json_key, json_value)
}
list.add(map)
}
} catch (e: JSONException) {
e.printStackTrace()
}
return list
}
}
}
2.使用方法,非常简单。在handler中调用
如var person:Person--这里声明一个Person类
person=JsonUtil.getPerson("Json返回的关键字",HttpUtil中得到的内容)
txt1.text=person.toString()--txt1是布局中的一个textView
3.其实Json解析一般都要和Http挂钩,仔细琢磨,你会收获很多。
Android Json解析Kotlin
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。