首页 > 解决方案 > 我的服务器不接受我通过改造 2 发送的 JSON 数据

问题描述

我正在向JSON服务器发送数据。

我正在尝试使用发布json数据retrofit2但遇到一些意外的致命错误。

JSON应该看起来像

{
   "lab_details":[
      {
         "floor":1,
         "lab_name":"Lab-1",
         "lab_capacity":100,
         "lab_switch_count":2,
         "ecid":306
      },
      {
         "floor":2,
         "lab_name":"Lab-2",
         "lab_capacity":230,
         "lab_switch_count":3,
         "ecid":306
      },
      {
         "floor":2,
         "lab_name":"Lab-3(Computer Lab)",
         "lab_capacity":300,
         "lab_switch_count":5,
         "ecid":306
      }
   ]
}

活动 API CALL 看起来像

plda.setLab_details(pldArray);
Gson gson = new Gson();
final String s = gson.toJson(plda);
System.out.println("after string " + s);
postLabDetailsApiClass.getLab().labcall(s).enqueue(new Callback < postLabDetailsResponsePojo > () {
   @Override
   public void onResponse(Call < postLabDetailsResponsePojo > call, Response < postLabDetailsResponsePojo > response) {
    Log.d("Req", s.toString());
    Log.d("Responses", response.body().toString());
   }

服务器不接受 JSON

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.ecava_proto1, PID: 19308
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.ecava_proto1.postLabDetailsResponsePojo.toString()' on a null object reference

标签: androidgsonretrofit2

解决方案


response.body().toString()原因NullPointerException因为response.body()似乎是null。也许您的服务器响应没有正文。您提到您正在尝试在服务器上发布此 JSON,这意味着它是请求的一部分,而不是响应


推荐阅读