Tag: json

改造 – 分析意外的数据types

我正在Android Kotlin项目中使用Retrofit库 并想处理解析意外的数据types。 例如,如果JSON: { “boolean”: true, “number”: “123”, “string”: “Hello World” } 数据类将是 data class Response ( val boolean: Boolean? = null, val number: Int? = null, val string: String? = null ) 通常情况下,Retrofit将无法解析响应,并且onFailure()将被调用,因为改装不能解析属性number因为它是以字符串forms返回的,并且期望编号,整个对象将无法解析。 我想要的,正常处理请求只是未分析的字段应该是空的。

Kotlin / Android应用程序使用Retrofit2。 JSON查询不能按我期望的那样工作

在一个小的android应用程序工作,以帮助我了解JSON查询。 小测试应用程序的工作,直到我试图深入钻到我的测试JSON数据。 我将发布一个链接到我正在使用的JSON数据,以节省空间。 这是来自weatherwunderground的API并托管在myjson.com上的示例代码。 JSON: https : //api.myjson.com/bins/19uurt 主要活动代码 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val retriever = CycloneRetriever() val callback = object : Callback { override fun onResponse(call: Call?, response: Response?) { println(“Got a response!”) println(response?.body()?.currenthurricane?.get(1)?.stormInfo?.get(0)?.stormName).toString() } override fun onFailure(call: Call?, t: Throwable?) { println(“The thing, it failed!”) […]

在tornadofx中使用localdatetime和其余的springboot

我开发了一个带有springboot rest服务的tornadofx应用程序作为后端 所有在kotlin语言 问题是tornadofxSeNd LocalDateTime作为Int这会导致这个错误在springboot服务器 2018-01-31 18:33:31.296 WARN 11473 — [nio-8080-exec-2] .wsmsDefaultHandlerExceptionResolver : Failed to read HTTP message: org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected token (VALUE_NUMBER_INT), expected VALUE_STRING: Expected array or string.; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Unexpected token (VALUE_NUMBER_INT), expected VALUE_STRING: Expected array or string. at [Source: (PushbackInputStream); line: 1, column: 16] (through reference chain: andalous.torndadoserver.financial.dailymove.newDailyMove[“date”]) […]

当我在Kotlin中使用Gson时,如何为json设计一个类?

我是Json和Gson的初学者,我知道我可以将json映射到一个类中,并通过Gson将一个类映射到json。 “我的Json”是一个JSON数据,我试图设计一个类“我的类”来映射,但我认为“我的类”不好。 你能给我看一些示例代码吗? 谢谢! 我的课 data class Setting ( val _id: Long, val Bluetooth_Stauts: Boolean, val WiFi_Name,String val WiFi_Statuse: Boolean ) 我的Json { “Setting”: [ { “id”: “34345”, “Bluetooth”: { “Status”: “ON” }, “WiFi”: { “Name”: “MyConnect”, “Status”: “OFF” } } , { “id”: “16454”, “Bluetooth”: { “Status”: “OFF” } } ] } 更新 以下是Rivu […]

如何使用moshi创建复杂的json而不需要定义类?

在gson中,我可以使用JsonElement来格式化一个复杂的json,像(在kotlin中): val objIDonotWantToDefine = JsonObject() objIDonotWantToDefine.addProperty(“objName”, “objIDonotWantToDefine”) val playerJsonArray = JsonArray() for ((name, age) in players) { val player = JsonObject() player.addProperty(“name”, name) player.addProperty(“age”, age) playerJsonArray.add(player) } objIDonotWantToDefine.add(“players”, playerJsonArray) val jsonStringIWant = GsonBuilder().create().toJson(objIDonotWantToDefine) 我知道我可以使用JSONWriter在莫西做到这一点。 但有没有一个简单的方法来做到这一点?

有没有干净的干净的方式来从HTTP请求JSON更新多个textViews?

我有以下Kotlin / Anko / Android活动。 import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.widget.TextView import com.fasterxml.jackson.module.kotlin.readValue import com.github.kittinunf.fuel.Fuel import eu.gwapi.laaketilaus.util.JSON import eu.gwapi.laaketilaus.util.Order import org.jetbrains.anko.find import org.jetbrains.anko.textView import org.jetbrains.anko.toast import org.jetbrains.anko.verticalLayout class OrderDetailsActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val order_id: Long = intent.extras.getLong(“order_id”) verticalLayout { textView { id = R.id.order_detail_customer } textView { id = […]

致命exception:与Klaxon json Kotlin库的java.lang.RuntimeException

我用我的Android应用程序(proguard启用)与这个错误来与最新的Android版本8.0的klaxon。 任何想法是什么造成的 Fatal Exception: java.lang.RuntimeException Unexpected character at position 2: ‘< (60)' com.beust.klaxon.Parser.parse (Unknown Source:24) cc.cc.api.JsonParser$Companion.parse (Unknown Source:15) cc.cc.api.JsonParser$Companion$processResponse$1$2.onCompleted (Unknown Source:52) com.koushikdutta.async.future.SimpleFuture.getResultOrThrow (Unknown Source:10) com.koushikdutta.async.future.SimpleFuture.cancel (Unknown Source:22) com.koushikdutta.ion.IonRequestBuilder$EmitterTransform$1.onCompleted (Unknown Source:25) com.koushikdutta.async.future.SimpleFuture.getResultOrThrow (Unknown Source:10) com.koushikdutta.async.future.SimpleFuture.cancel (Unknown Source:22) com.koushikdutta.ion.IonRequestBuilder$1.run (Unknown Source:55) com.koushikdutta.async.AsyncServer$RunnableWrapper.run (Unknown Source:14) android.os.Handler.handleCallback (Handler.java:789) android.os.Handler.dispatchMessage (Handler.java:98) android.os.Looper.loop (Looper.java:164) android.app.ActivityThread.main (ActivityThread.java:6541) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:240) com.android.internal.os.ZygoteInit.main […]

如何用JSON API支架列表制作KOTLIN列表

我正在尝试从JSon API在Kotlin中创建一个列表。 我做了Udemy的教程,我做了天气应用程序。 它完美的工作,但现在我需要一个订单列表新的列表。 这里是天气API代码: { “query”: { “results”: { “channel”: { “item” : { “forecast” : [ { “data”: 1 }, { “data”: 1 }, { “data”: 1 } ] } } } } } 但是现在我需要列出一个列表,并采用前面的例子,它看起来像这样: { “query”: { “results”: { “channel”: { “item”: { “forecast”: { “0”: { “data”: 1 }, “1”: { […]

基于科林地图的属性和jackson不工作 – 委托点不同的地图,即地图属性

我试图通过使用委托属性将一些结构引入到我们当前的模型中,并且发现了这种奇怪的行为 为了简单,可以说我们有这个类: class Test{ val data:MutableMap = mutableMapOf() var classProp:String by data } 和这个字符串”{\”data\”:{\”classProp\”:\”propValue\”}}” 在调试中使用jackson映射器(带或不带kotlin模块和kotlinreflection ) 调试variableswatch 你可以看到属性数据指向了一个不同的对象,然后是classProp的委托 你能告诉我做错了什么吗? jackson如何将一个新对象设置为已经初始化的val 我可以命令jackson使用现有的地图,而不是创建一个新的地图 谢谢

types推断在kotlin中失败

我在JSONArray类上创建了一个扩展函数iterator() ,并在for循环中使用了下面的错误: Type inferece failed: Not enough information to infer parameter T in operator fun JSONArray.iterator () L Iterator 我的代码是: class GetFlickrJsonData(private val mCallBack: OnDataAvailable, private var mBaseUrl: String, private var mLanguage: String, private var mMatchAll: Boolean) : GetRawData.OnDownLoadComplete { init { Log.d(TAG,”GetFlickrJsonData Called”) } companion object { private val TAG = “GetFlickrJsonData” } private […]