Android 使用Gson提取json对象值
假设web api返回一个类似这样的json对象Android 使用Gson提取json对象值,android,kotlin,gson,Android,Kotlin,Gson,假设web api返回一个类似这样的json对象 { "something": "value" } 然后我使用Gson将其转换为本地类 webRequest.enqueue(object : Callback<WebResponse> { override fun onFailure(call: Call<WebResponse>, t: Throwable) { // Log.e(TAG, "Failed", t) }
{
"something": "value"
}
然后我使用Gson将其转换为本地类
webRequest.enqueue(object : Callback<WebResponse> {
override fun onFailure(call: Call<WebResponse>, t: Throwable) {
// Log.e(TAG, "Failed", t)
}
override fun onResponse(call: Call<WebResponse>, response: Response<WebResponse>) {
// Extracting the value from something in json object
}
})
试试这个
如果使用LiveData
private val _webResponse = MutableLiveData<WebResponse>()
val webResponse: LiveData<WebResponse>
get() = _webResponse
// Your request
webRequest.enqueue(object : Callback<WebResponse> {
override fun onFailure(call: Call<WebResponse>, t: Throwable) {
// Log.e(TAG, "Failed", t)
}
override fun onResponse(call: Call<WebResponse>, response: Response<WebResponse>) {
// Extracting the value from something in json object
if (response.isSuccessful()) {
_webResponse.value = response.body()
}
}
})
// You can use above live data as follow
webresponse.observe(viewLifecycleOwner, Observer {
if (it != null) {
// Do something with your `WebResponse` object
val something = it.something!!
}
})
private val\u webResponse=MutableLiveData()
val webResponse:LiveData
get()=\u webResponse
//你的要求
排队(对象:回调){
覆盖失效时的乐趣(调用:调用,t:可丢弃){
//Log.e(标签“失败”,t)
}
覆盖fun onResponse(调用:调用,响应:响应){
//从json对象中提取值
if(response.issusccessful()){
_webResponse.value=response.body()
}
}
})
//您可以按如下方式使用上述实时数据
webresponse.observe(viewLifecycleOwner,Observer{
如果(it!=null){
//对“WebResponse”对象执行一些操作
瓦尔某物=它。某物!!
}
})
来自onResponse()
方法的response
对象将调用WebResponse
对象,您可以使用该对象检索内容
变量我尝试了val WebResponse:WebResponse?=response.body()!!。一些东西
。
private val _webResponse = MutableLiveData<WebResponse>()
val webResponse: LiveData<WebResponse>
get() = _webResponse
// Your request
webRequest.enqueue(object : Callback<WebResponse> {
override fun onFailure(call: Call<WebResponse>, t: Throwable) {
// Log.e(TAG, "Failed", t)
}
override fun onResponse(call: Call<WebResponse>, response: Response<WebResponse>) {
// Extracting the value from something in json object
if (response.isSuccessful()) {
_webResponse.value = response.body()
}
}
})
// You can use above live data as follow
webresponse.observe(viewLifecycleOwner, Observer {
if (it != null) {
// Do something with your `WebResponse` object
val something = it.something!!
}
})