java错误json解析
将Java代码更改为Kotlin代码。这是Kotlin,我认为过去的json解析不起作用。它在Java中起作用。那么,有什么解决办法呢
package io.github.taehoon02.dimibob import 安卓.os.AsyncTask import org.json.JSONException import org.json.JSONObject import java.io.BufferedReader import java.io.IOException import java.io.InputStreamReader import java.net.HttpURLConnection import java.net.MalformedURLException import java.net.URL import java.text.SimpleDateFormat import java.util.* class meals : AsyncTask() { var data = "" var breakfast = "" var lunch = "" var dinner = "" var snack = "" override fun doInBackground(vararg params: Void): Void? { try { val today : Calendar = Calendar.getInstance() val format = SimpleDateFormat("yyyyMMdd").format(today.time) val url = URL("https://api.dimigo.in/dimibobs/" + format) val httpURLConnection = url.openConnection() as HttpURLConnection val inputStream = httpURLConnection.inputStream val bufferedReader = BufferedReader(InputStreamReader(inputStream)) var line: String? = "" while (line != null) { line = bufferedReader.readLine() data += line } val jsonObject = JSONObject(data) breakfast = jsonObject.get("breakfast") as String lunch = jsonObject.get("lunch") as String dinner = jsonObject.get("dinner") as String snack = jsonObject.get("snack") as String } catch (e: MalformedURLException) { e.printStackTrace() } catch (e: IOException) { e.printStackTrace() } catch (e: JSONException) { e.printStackTrace() } return null } }
# 1 楼答案
因为我没有看到您的错误消息,但我认为您需要在从
inputStream
读取数据时更改代码改变
到
通过这样做,可以避免json字符串的空值