如何使用kotlin Android从Url读取JSON?
我正在使用kotlin开发应用程序。现在我想从服务器获取JSON数据。
在Java中实现了Asyntask以及Rxjava从Url读取JSON。 我也搜索谷歌,但我无法得到我的要求适当的细节。
如何使用kotlin从Url读取JSON?
尝试这个
fun parse(json: String): JSONObject? { var jsonObject: JSONObject? = null try { jsonObject = JSONObject(json) } catch (e: JSONException) { e.printStackTrace() } return jsonObject }
您可以在Kotlin中使用Volley或Retrofit库。实际上,您可以使用Kotlin中的所有Java库。
排气更容易,但比Volley.Your的选择更快。
齐射链接
改造链接
最后从这里得到答案
使用Retrofit 2.0 RxJava,RxAndroid,Kotlin Android扩展阅读Json数据。
fun provideRetrofit(): Retrofit { return Retrofit.Builder() .baseUrl("https://www.example.com") .addConverterFactory(MoshiConverterFactory.create()) .build() }
模
interface Api { @GET("/top.json") fun getTop(@Query("after") after: String, @Query("limit") limit: String): Call<NewsResponse>; }
我想你正试图读取服务器API的响应,你希望这是一个JSON字符串。 为此,您可以使用:
val apiResponse = URL("yourUrl").readText()
从文档 :
使用UTF-8或指定的字符集将该URL的全部内容作为字符串读取。
这个方法不建议在大文件上使用。
请注意,如果您在Android活动中使用此应用程序,则应用程序崩溃是因为您使用异步调用阻止了主线程。 为了避免应用程序崩溃,我建议您使用Anko 。 更确切地说,你只需要添加commons依赖项,而不是整个库。
您可以在此博客文章中找到更多信息
- 如何在Anko中调试“无法解析com.google.android:android”错误
- MediaStore.Images从拇指Uri / id获取完整图像
- Android数据绑定与Kotlin,BaseObservable和一个自定义委托
- Kotlin – 在Android中转换Singleton DatabaseController的最佳方法
- 智能投到BootsrapButton是不可能的,因为endtrip是这个时候改变了的可变属性
- Gradle的依赖关系缓存可能已损坏
- RxJava Kotlin如何从单个可观察<String>中获得分离的对象
- kotlin如何让setOnClickListener接受函数作为参数
- 使用Kotlin Anko拍摄照片并显示结果的最佳方法是什么?