You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin中Retrofit调用API无法返回JSON对象数据的排查求助

问题:Retrofit调用返回200状态码但无法获取嵌套JSON数据

我正在开发一款Kotlin Android移动应用,使用Retrofit实现REST API调用以获取客户数据。创建了POST接口,通过请求体传递sessionKey到API端点。API调用成功返回200状态码和OK信息,但始终无法获取到预期的嵌套JSON数据。

Postman请求时API返回的JSON示例

{ 
 "OrderingOrderInfoResponseStruct": {
"deliveryAddresses": {
  "OrderingDeliveryAddressStruct": [
    {
      "deliveryAddressNo": 5800009,
      "deliveryAddressName": "BASILDON & THURROCK NHS",
      "pointsOfService": {
        "OrderingPointOfServiceStruct": [
          {
            "pointOfServiceNo": 1,
            "pointOfServiceName": "A & E",
            "pointOfServiceDescription": "A & E 12",
            "pointOfServiceOrderingGroupNo": "580-1",
            "orders": {
              "OrderingOrderStruct": [
                {
                  "orderType": "inventory",
                  "orderDate": "2023-07-07",
                  "deliveryDate": "2023-07-07",
                  "orderStatus": 0,
                  "articles": {
                    "OrderingArticleStruct": [
                      {
                        "articleNo": 109842,
                        "articleDescription": "ESSENTIALS TOP SHEET S",
                        "articleSize": "",
                        "articleTargetQty": 385,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 103046,
                        "articleDescription": "ESSENTIALS PILLOWCASE",
                        "articleSize": "",
                        "articleTargetQty": 15,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 106856,
                        "articleDescription": "ESSENTIALS BATH TOWEL",
                        "articleSize": "",
                        "articleTargetQty": 24,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 106482,
                        "articleDescription": "ESSENTIALS BLANKET THERMAL BLUE",
                        "articleSize": "",
                        "articleTargetQty": 130,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 106812,
                        "articleDescription": "ESSENTIALS PATIENT MODESTY GOWN",
                        "articleSize": "",
                        "articleTargetQty": 65,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 106420,
                        "articleDescription": "ESSENTIALS PLASTIC BAGS WHITE",
                        "articleSize": "",
                        "articleTargetQty": 75,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      },
                      {
                        "articleNo": 106458,
                        "articleDescription": "ESSENTIALS BAGS WATER SOLUBLE",
                        "articleSize": "",
                        "articleTargetQty": 25,
                        "articleMinQty": 0,
                        "articleMaxQty": 0,
                        "articleIntervalQty": 0
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }
    }
  ]
},
"orderingGroups": {
  "OrderingOrderingGroupStruct": [
    {
      "orderingGroupNo": "580-1",
      "orderingGroupDescription": "58000009 BASILDON OPD 1"
    },
    {
      "orderingGroupNo": "580-2",
      "orderingGroupDescription": "58000009 BASILDON OPD 2"
    },
    {
      "orderingGroupNo": "580-3",
      "orderingGroupDescription": "58000009 BASILDON OPD 3"
    },
    {
      "orderingGroupNo": "580-4",
      "orderingGroupDescription": "ROYALFREE TOWER BLOCK"
    },
    {
      "orderingGroupNo": "580-5",
      "orderingGroupDescription": "5800024 ROYAL FREE OPD 2"
    },
    {
      "orderingGroupNo": "580-6",
      "orderingGroupDescription": "5800024 ROYAL FREE OPD 3"
    }
  ]
}
}

应用中的接口及Retrofit实例代码

interface OrderInfoApiService1 {
@Headers("Content-Type: application/json; charset=utf-8")
@POST("OrderInfo")
suspend fun getOrderInfo(@Body orderInfoRequest: OrderingRequest): Response<SolServices>
}

suspend fun fetchOrderInfo(orderInfoRequest: OrderingRequest) {
    val retrofit = Retrofit.Builder()
        .addConverterFactory(GsonConverterFactory.create())// MoshiConverterFactory.create(moshi))
        .baseUrl(BASE_URL)
        .client(clientTime)
        .build()

    val retrofitService = retrofit.create(OrderInfoApiService1::class.java)
}

Logcat中未出现任何与数据缺失相关的报错信息,请问有哪些可能的排查方向或我遗漏的明显问题?


内容的提问来源于stack exchange,提问作者Dean Ball

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 22:54:54