2017-07-13 254 views
0

我一直在想,现在从小时URL解析JSON,但我太傻我想
我已经试过如何使用Android上的Kotlin从URL解析JSON?

val result = URL("http://date.jsontest.com/").readText() 

但它崩溃

java.net.MalformedURLException :没有协议:date.jsontest.com

我已经试过克拉克松的图书馆

fun parse(name: String) : Any? {  
    val cls = Parser::class.java 
    return cls.getResourceAsStream(name)?.let { 
     inputStream -> return Parser().parse(inputStream) 
    } 
}  
val obj = parse("http://date.jsontest.com/") as JsonObject 

,但它也崩溃

kotlin.TypeCastException:空不能转换到非空型com.beust.klaxon.JsonObject

有人请写在科特林的simpliest方式从这个链接解析数据http://date.jsontest.com/

+0

https://stackoverflow.com/questions/44883593/how-to-read-json-from-url-using-kotlin-android/44883989#44883989回答你的问题。 –

+0

我应该怎么做? –

+0

你可以发布你的stacktrace吗? – chandil03

回答

1

很难说为什么你会收到错误。由于这条线是正确的和工作。

val result = URL("http://date.jsontest.com/").readText() 

对于解析方法。它不起作用,因为它期望获得JSON文件的路径,但获取URL字符串。

使用Klaxon的最简单的例子就是这个。

val result = URL("http://date.jsontest.com/").readText() 
val parser: Parser = Parser() 
val stringBuilder: StringBuilder = StringBuilder(result) 
val json: JsonObject = parser.parse(stringBuilder) as JsonObject 
println("Time : ${json.string("time")}, Since epoch : ${json.long("milliseconds_since_epoch")}, Date : ${json.string("date")}, ")