我正在向服务器发送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
}
]
}
Activity 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
答案 0 :(得分:0)
response.body().toString()
导致NullPointerException
,因为response.body()
似乎是null
。也许您的服务器响应没有任何内容。您提到要在服务器上发布此JSON,这意味着它是请求的一部分,而不是响应。