Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对于Kotlin中的改装请求,我的模型类应该是什么样子的?_Android_Kotlin_Request_Retrofit_Retrofit2 - Fatal编程技术网

Android 对于Kotlin中的改装请求,我的模型类应该是什么样子的?

Android 对于Kotlin中的改装请求,我的模型类应该是什么样子的?,android,kotlin,request,retrofit,retrofit2,Android,Kotlin,Request,Retrofit,Retrofit2,我试图在Kotlin中使用Reformation2创建一个请求,我的Json数据如下所示: { "actionRights": [ { "hasArticlePriceChangeRights": false, "hasStockLevelViewRights": false } ], "stats": { "errors": 12,

我试图在Kotlin中使用Reformation2创建一个请求,我的Json数据如下所示:

{
  "actionRights": [
    {
      "hasArticlePriceChangeRights": false,
      "hasStockLevelViewRights": false
    }
  ],
  "stats": {
    "errors": 12,
    "warnings": 21,
    "outOfOrder": 58,
    "running": 42
  },
  "markers": []
}
我需要从我的回复中获取“统计”数据

我的模型课看起来怎么样?我尝试了一些东西,但我得到了这个错误

应为BEGIN_对象,但在第1行第2列路径处为BEGIN_数组$

编辑:我创建了这个ModelClass,但仍然出现以下错误: 应为BEGIN_对象,但在第1行第2列路径$处为BEGIN_数组。

data class StatsModel(
        @SerializedName("actionRights") val actionRights : List<ActionRights>,
        @SerializedName("stats") val stats : Stats,
        @SerializedName("markers") val markers : List<Markers>
) {
    data class ActionRights (

            @SerializedName("hasArticlePriceChangeRights") val hasArticlePriceChangeRights : Boolean,
            @SerializedName("hasStockLevelViewRights") val hasStockLevelViewRights : Boolean
    )


    data class Stats (

            @SerializedName("errors") val errors : Int,
            @SerializedName("warnings") val warnings : Int,
            @SerializedName("outOfOrder") val outOfOrder : Int,
            @SerializedName("running") val running : Int
    )

    data class Markers (

            @SerializedName("deviceGuid") val deviceGuid : String,
            @SerializedName("lat") val lat : Double,
            @SerializedName("lng") val lng : Double,
            @SerializedName("title") val title : Int,
            @SerializedName("city") val city : String,
            @SerializedName("street") val street : Int,
            @SerializedName("serialNumber") val serialNumber : Int,
            @SerializedName("LastStatusMessageDateTime") val lastStatusMessageDateTime : String,
            @SerializedName("LastStatusMessageBitSet_0_63") val lastStatusMessageBitSet_0_63 : Int,
            @SerializedName("LastStatusMessageBitSet_64_127") val lastStatusMessageBitSet_64_127 : Int,
            @SerializedName("ActionsStatus") val actionsStatus : Int,
            @SerializedName("SpareColumn1") val spareColumn1 : String,
            @SerializedName("SpareColumn2") val spareColumn2 : String,
            @SerializedName("SpareColumn3") val spareColumn3 : String,
            @SerializedName("SpareColumn4") val spareColumn4 : String,
            @SerializedName("SpareColumn5") val spareColumn5 : String,
            @SerializedName("SpareColumn6") val spareColumn6 : String,
            @SerializedName("SpareColumn7") val spareColumn7 : String,
            @SerializedName("SpareColumn8") val spareColumn8 : String,
            @SerializedName("SpareColumn9") val spareColumn9 : String,
            @SerializedName("SpareColumn10") val spareColumn10 : String,
            @SerializedName("EstimatedDeliveryDateTime") val estimatedDeliveryDateTime : String,
            @SerializedName("IpAddress") val ipAddress : String,
            @SerializedName("Active") val active : Int,
            @SerializedName("ParentAreaGuid") val parentAreaGuid : String,
            @SerializedName("AreaGuid") val areaGuid : String,
            @SerializedName("TariffGroupGuid") val tariffGroupGuid : String,
            @SerializedName("DeviceType") val deviceType : String,
            @SerializedName("EstimateArticleName") val estimateArticleName : String,
            @SerializedName("EstimateArticleGuid") val estimateArticleGuid : String,
            @SerializedName("lastCoinboxExchange") val lastCoinboxExchange : String,
            @SerializedName("lastStatusUpdateTime") val lastStatusUpdateTime : String,
            @SerializedName("reportDateTime") val reportDateTime : String,
            @SerializedName("hasFinancialInfo") val hasFinancialInfo : Boolean,
            @SerializedName("ticketsSold") val ticketsSold : Int,
            @SerializedName("cash") val cash : Int,
            @SerializedName("cashless") val cashless : Int,
            @SerializedName("hasStockLevel") val hasStockLevel : Boolean,
            @SerializedName("hasArticlePrices") val hasArticlePrices : Boolean,
            @SerializedName("EstDeliveryDays") val estDeliveryDays : String,
            @SerializedName("hasOther") val hasOther : Boolean,
            @SerializedName("hasOutOfOrder") val hasOutOfOrder : Boolean,
            @SerializedName("hasWarning") val hasWarning : Boolean,
            @SerializedName("hasError") val hasError : Boolean,
            @SerializedName("flags") val flags : List<Flags>,
            @SerializedName("actionState") val actionState : String,
            @SerializedName("spareColumns") val spareColumns : List<SpareColumns>
    )
    data class Flags (

            @SerializedName("ErrorLevel") val errorLevel : Int,
            @SerializedName("ErrorFlag") val errorFlag : Int,
            @SerializedName("Translation") val translation : String,
            @SerializedName("BitPosition") val bitPosition : Int
    )
    data class SpareColumns (

            @SerializedName("key") val key : String,
            @SerializedName("value") val value : String
    )
}
数据类StatsModel(
@SerializedName(“actionRights”)val actionRights:列表,
@SerializedName(“stats”)val stats:stats,
@SerializedName(“标记”)val标记:列表
) {
数据类操作权限(
@SerializedName(“hasArticlePriceChangeRights”)val hasArticlePriceChangeRights:Boolean,
@SerializedName(“hasStockLevelViewRights”)val hasStockLevelViewRights:布尔值
)
数据类统计数据(
@SerializedName(“错误”)val错误:Int,
@SerializedName(“警告”)val警告:Int,
@SerializedName(“outOfOrder”)val outOfOrder:Int,
@SerializedName(“正在运行”)val正在运行:Int
)
数据类标记(
@SerializedName(“deviceGuid”)val deviceGuid:字符串,
@SerializedName(“lat”)val lat:Double,
@序列化名称(“lng”)值lng:Double,
@序列化名称(“标题”)val标题:Int,
@SerializedName(“城市”)val city:String,
@序列化名称(“街道”)val street:Int,
@SerializedName(“serialNumber”)val serialNumber:Int,
@SerializedName(“LastStatusMessageDateTime”)val LastStatusMessageDateTime:String,
@SerializedName(“LastStatusMessageBitSet_0_63”)val LastStatusMessageBitSet_0_63:Int,
@SerializedName(“LastStatusMessageBitSet_64_127”)val LastStatusMessageBitSet_64_127:Int,
@SerializedName(“ActionsStatus”)val ActionsStatus:Int,
@SerializedName(“SpareColumn1”)val SpareColumn1:String,
@SerializedName(“SpareColumn2”)val SpareColumn2:String,
@SerializedName(“SpareColumn3”)val SpareColumn3:String,
@SerializedName(“SpareColumn4”)val SpareColumn4:String,
@SerializedName(“SpareColumn5”)val SpareColumn5:String,
@SerializedName(“SpareColumn6”)val SpareColumn6:String,
@SerializedName(“SpareColumn7”)val SpareColumn7:String,
@SerializedName(“SpareColumn8”)val SpareColumn8:String,
@SerializedName(“SpareColumn9”)val SpareColumn9:String,
@SerializedName(“SpareColumn10”)val SpareColumn10:String,
@SerializedName(“EstimatedDeliveryDateTime”)val EstimatedDeliveryDateTime:字符串,
@SerializedName(“IpAddress”)val IpAddress:字符串,
@SerializedName(“活动”)val活动:Int,
@SerializedName(“ParentAreaGuid”)val ParentAreaGuid:字符串,
@SerializedName(“AreaGuid”)val AreaGuid:字符串,
@SerializedName(“TariffGroupGuid”)val TariffGroupGuid:String,
@SerializedName(“DeviceType”)val DeviceType:String,
@SerializedName(“EstimateArticleName”)val EstimateArticleName:String,
@SerializedName(“EstimateArticleGuid”)val EstimateArticleGuid:字符串,
@SerializedName(“lastCoinboxExchange”)val lastCoinboxExchange:String,
@SerializedName(“lastStatusUpdateTime”)val lastStatusUpdateTime:String,
@SerializedName(“reportDateTime”)val reportDateTime:String,
@SerializedName(“hasFinancialInfo”)val hasFinancialInfo:Boolean,
@SerializedName(“TicketsSeld”)val TicketsSeld:Int,
@序列化名称(“现金”)val cash:Int,
@SerializedName(“无现金”)val cashless:Int,
@SerializedName(“hasStockLevel”)val hasStockLevel:Boolean,
@SerializedName(“hasArticlePrices”)val hasArticlePrices:Boolean,
@SerializedName(“EstDeliveryDays”)val EstDeliveryDays:String,
@SerializedName(“hasOther”)val hasOther:Boolean,
@SerializedName(“hasOutOfOrder”)val hasOutOfOrder:Boolean,
@SerializedName(“hasWarning”)val hasWarning:Boolean,
@SerializedName(“hasError”)val hasError:Boolean,
@SerializedName(“标志”)val标志:列表,
@SerializedName(“actionState”)val actionState:String,
@SerializedName(“spareColumns”)val spareColumns:List
)
数据类标志(
@SerializedName(“ErrorLevel”)val ErrorLevel:Int,
@SerializedName(“ErrorFlag”)val ErrorFlag:Int,
@SerializedName(“翻译”)val翻译:字符串,
@SerializedName(“BitPosition”)val BitPosition:Int
)
数据类SpareColumns(
@SerializedName(“键”)val键:字符串,
@SerializedName(“值”)值值:字符串
)
}
我正在处理这样的响应:

fun getStatusService(mandatorGuid: String, @Nullable statusCallbacks: ChartsCallbacks.StatsCallbacks) {
        val mandatorItem = MandatorItem(mandatorGuid)
        val guid: MutableMap<String, String> = HashMap()
        guid["guid"] = mandatorItem.guid
        var statusData: StatsModel.Stats

        val call: Call<StatsModel> = createAPI().getStatus(mandatorItem.guid)
        call.enqueue(object : Callback<StatsModel> {
            override fun onFailure(call: Call<StatsModel>, t: Throwable) {
                Log.i("TEST", "Status failure: $t")
            }

            override fun onResponse(call: Call<StatsModel>, response: Response<StatsModel>) {
                if (response.isSuccessful) {
                    Log.i("TEST", "ITEM " + response.headers().toString())
                        statusData = response.body()!!.stats
                        Log.i("TEST", "ITEM $statusData")
                        statusCallbacks.onSuccess(statusData)

                }
            }
        })
    }
fun getStatusService(mandatorGuid:String,@Nullable statusCallbacks:ChartsCallbacks.StatsCallbacks){
val mandatorItem=mandatorItem(mandatorGuid)
val guid:MutableMap=HashMap()
guid[“guid”]=强制项.guid
var statusData:StatsModel.Stats
val调用:call=createAPI().getStatus(mandatorItem.guid)
排队(对象:Callback{
覆盖失效时的乐趣(调用:调用,t:可丢弃){
Log.i(“测试”,“状态失败:$t”)
}
覆盖fun onResponse(调用:调用,响应:响应){
if(response.issucessful){
Log.i(“测试”、“项”+响应.headers().toString())
statusData=response.body()!!.stats
Log.i(“测试”,“项目$statusData”)
地位
 data class ActionRight(
val hasArticlePriceChangeRights: Boolean?=null,
val hasStockLevelViewRights: Boolean?=null
 )
   data class Stats(
    val errors:Int? = null,
    val warnings? = null,
    val outOfOrder? = null,
    val running? = null
    )
data class StatsModel(
val actionRights: ArrrayList<ActionRight>?=null,
val markers: ArrrayList<Any>?=null,
val stats: Stats? = null)