android - 我的服务器不接受我通过改造 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
解决方案
response.body().toString()
原因NullPointerException
因为response.body()
似乎是null
。也许您的服务器响应没有正文。您提到您正在尝试在服务器上发布此 JSON,这意味着它是请求的一部分,而不是响应。
推荐阅读
- html - 我用来将“find”更改为“(nd”的字体。有人知道为什么吗?
- javascript - 使用辅助监视器时,如何在 window.onmousemove 上获取相对于主屏幕的 e.screenX/Y?
- javascript - JavaScript 从数组构建不完整二叉树
- swift - 在 HTTP 请求正文中传递数组
- swiftui - 什么手势只能在用户将手指放在 SwiftUI 中的屏幕上时执行代码?
- python - 如何将结果写入文本文件?
- ios - 如何实现具有不同参数/返回类型的抽象方法
- angular - 不同div中的重复字段
- r - 从复数 + 实数特征向量创建新矩阵。分别使用实数和复数将复数共轭拆分为实数列
- html - 如何在靶心旁边对齐文本