2017-05-31 49 views
5

我需要將字符串{\"name\":\"test name\", \"age\":25}轉換爲JSONObject如何從Kotlin中的String創建JSONObject?

+0

此URL可能是你一個很好的起點:https://stackoverflow.com/questions/41928803/how-to-parse-json-in-kotlin –

+0

取決於其* *種類的的JSONObject,對於org.json,請參閱https://stleary.github.io/JSON-java/ –

+2

而後端是什麼? Java還是JS? – glee8e

回答

4

您可以使用https://github.com/cbeust/klaxon庫。

val parser: Parser = Parser() 
val stringBuilder: StringBuilder = StringBuilder("{\"name\":\"Cedric Beust\", \"age\":23}") 
val json: JsonObject = parser.parse(stringBuilder) as JsonObject 
println("Name : ${json.string("name")}, Age : ${json.int("age")}") 

結果:

Name : Cedric Beust, Age : 23 
+1

如果你打算使用這個對象作爲API方法的結果,這種方法更可取,因爲** klaxon **的JsonObject會知道如何將自己序列化回Json。 – Andrew

2

也許我誤解的問題,但它聽起來就像你已經在使用org.json這引出這樣一個問題,爲什麼

val answer = JSONObject("""{"name":"test name", "age":25}""") 

不會是做到這一點的最佳方式? JSONObject的內置功能有什麼問題?

4
val rootObject= JSONObject() 
rootObject.put("name","test name") 
rootObject.put("age","25") 
相關問題