2017-07-13 253 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")}, ")