错误请求Android改造发送jsonArray

错误请求Android改造发送jsonArray,android,arrays,retrofit,Android,Arrays,Retrofit,我正在尝试与需要接收json数组的服务通信,如下所示: [{ "PAR_IND_COD_AREA_PROC": "1", "PAR_COD_AREA_PROC": "H", "PAR_IND_EQPMT_DESTINO": "0", "PAR_EQPMT_DESTINO": "", "PAR_IND_COD_EQPMT_PRODC": "1", "PAR_COD_EQPMT_PRODC": "DBQ", "PAR_IDENT_UNMET": "", "PAR_COD_TIPO_ACO": "",

我正在尝试与需要接收json数组的服务通信,如下所示:

[{
"PAR_IND_COD_AREA_PROC": "1",
"PAR_COD_AREA_PROC": "H",
"PAR_IND_EQPMT_DESTINO": "0",
"PAR_EQPMT_DESTINO": "",
"PAR_IND_COD_EQPMT_PRODC": "1",
"PAR_COD_EQPMT_PRODC": "DBQ",
"PAR_IDENT_UNMET": "",
"PAR_COD_TIPO_ACO": "",
"PAR_COD_GRUPO_ACO": "",
"PAR_DTH_INI_PRAZO": "",
"PAR_DTH_FIM_PRAZO": "",
"PAR_COD_INTER_PEDCL": "",
"PAR_COD_ITEM_PEDCL": "",
"PAR_COD_CLIENTE": "",
"PAR_NUM_CAMPA_RB": "",
"PAR_UM_PROXI": ""
}, true]
为此,我使用以下方法进行改装:

@POST(Constants.MOVIMENTAR_BUSCA)
Call<RetornoCompletoBuscaUmsMovimentar> getBuscaMovimentarUms(@Body JSONStringer data);
jsonStringer的构建方式如下:

private JSONStringer jsonStringToSend(String PAR_IND_COD_AREA_PROC,
String PAR_COD_AREA_PROC, String PAR_IND_EQPMT_DESTINO,
String PAR_EQPMT_DESTINO, String PAR_IND_COD_EQPMT_PRODC,
String PAR_COD_EQPMT_PRODC, String PAR_IDENT_UNMET,
String PAR_COD_TIPO_ACO, String PAR_COD_GRUPO_ACO,
String PAR_DTH_INI_PRAZO, String PAR_DTH_FIM_PRAZO,
String PAR_COD_INTER_PEDCL, String PAR_COD_ITEM_PEDCL,
String PAR_COD_CLIENTE, String PAR_NUM_CAMPA_RB,
String PAR_UM_PROXI){
try {
return new JSONStringer().array()
.object().key("PAR_IND_COD_AREA_PROC").value(PAR_IND_COD_AREA_PROC)
.key("PAR_COD_AREA_PROC").value(PAR_COD_AREA_PROC)
.key("PAR_IND_EQPMT_DESTINO").value(PAR_IND_EQPMT_DESTINO)
.key("PAR_EQPMT_DESTINO").value(PAR_EQPMT_DESTINO)
.key("PAR_IND_COD_EQPMT_PRODC").value(PAR_IND_COD_EQPMT_PRODC)
.key("PAR_COD_EQPMT_PRODC").value(PAR_COD_EQPMT_PRODC)
.key("PAR_IDENT_UNMET").value(PAR_IDENT_UNMET)
.key("PAR_COD_TIPO_ACO").value(PAR_COD_TIPO_ACO)
.key("PAR_COD_GRUPO_ACO").value(PAR_COD_GRUPO_ACO)
.key("PAR_DTH_INI_PRAZO").value(PAR_DTH_INI_PRAZO)
.key("PAR_DTH_FIM_PRAZO").value(PAR_DTH_FIM_PRAZO)
.key("PAR_COD_INTER_PEDCL").value(PAR_COD_INTER_PEDCL)
.key("PAR_COD_ITEM_PEDCL").value(PAR_COD_ITEM_PEDCL)
.key("PAR_COD_CLIENTE").value(PAR_COD_CLIENTE)
.key("PAR_NUM_CAMPA_RB").value(PAR_NUM_CAMPA_RB)
.key("PAR_UM_PROXI").value(PAR_UM_PROXI).endObject()
.value(true).endArray();
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}
我做错了什么?我已经为JSONObjects帖子使用了很长时间了,但似乎无法理解JSONArray的这种特殊情况


提前感谢。

经过一整天的研究,我在葡萄牙语版本的stackoverflow上找到了这个,解决了我的问题。不需要翻译,代码是不言自明的

检查您的logcat是否有任何异常情况,可能没有,只有响应:“400错误请求”{消息:请求无效}您可以记录由jsonStringToSend创建的json吗?我认为您正在创建的json有一些问题[{“PAR_IND_codu AREA_PROC”:“1”,“PAR_codu AREA_PROC”:“H”,“PAR_IND_EQPMT_DESTINO”:“0”,“第1”、“第1”、“第1”、“第1”、“第1”、“第1”、“第1”、“第1”、“第1”、“第1”和第2次COD和第几次COD和第几次测试的结果如下:“DBQ”、“未满足的估计量和未未满足的情况”:“第几次测量结果”以下以下以下以下几几几几次测量的目的是:以下以下几几几几天以下以下以下几几几几句话:“第1”、“第1”、“第1”、“第二次测量的COD和未满足的未满足以下以下以下几次测量结果”:”以下以下以下几几几几几几几几几几几几几几几几几几几几几次测量,以下以下以下以下以下以下以下以下以下以下以下几几几几几几句话:“据据据据据据据据据据据据据据据据据据据据据据据据据据据据据据据据测量,这些这些测试,这些测试,这些测试,这些测试,这些生产生产的结果,这些产品的结果,这些产品的真的]问题不在于json,不幸的是,我在PostMan上检查了它,并收到了预期响应的200代码
private JSONStringer jsonStringToSend(String PAR_IND_COD_AREA_PROC,
String PAR_COD_AREA_PROC, String PAR_IND_EQPMT_DESTINO,
String PAR_EQPMT_DESTINO, String PAR_IND_COD_EQPMT_PRODC,
String PAR_COD_EQPMT_PRODC, String PAR_IDENT_UNMET,
String PAR_COD_TIPO_ACO, String PAR_COD_GRUPO_ACO,
String PAR_DTH_INI_PRAZO, String PAR_DTH_FIM_PRAZO,
String PAR_COD_INTER_PEDCL, String PAR_COD_ITEM_PEDCL,
String PAR_COD_CLIENTE, String PAR_NUM_CAMPA_RB,
String PAR_UM_PROXI){
try {
return new JSONStringer().array()
.object().key("PAR_IND_COD_AREA_PROC").value(PAR_IND_COD_AREA_PROC)
.key("PAR_COD_AREA_PROC").value(PAR_COD_AREA_PROC)
.key("PAR_IND_EQPMT_DESTINO").value(PAR_IND_EQPMT_DESTINO)
.key("PAR_EQPMT_DESTINO").value(PAR_EQPMT_DESTINO)
.key("PAR_IND_COD_EQPMT_PRODC").value(PAR_IND_COD_EQPMT_PRODC)
.key("PAR_COD_EQPMT_PRODC").value(PAR_COD_EQPMT_PRODC)
.key("PAR_IDENT_UNMET").value(PAR_IDENT_UNMET)
.key("PAR_COD_TIPO_ACO").value(PAR_COD_TIPO_ACO)
.key("PAR_COD_GRUPO_ACO").value(PAR_COD_GRUPO_ACO)
.key("PAR_DTH_INI_PRAZO").value(PAR_DTH_INI_PRAZO)
.key("PAR_DTH_FIM_PRAZO").value(PAR_DTH_FIM_PRAZO)
.key("PAR_COD_INTER_PEDCL").value(PAR_COD_INTER_PEDCL)
.key("PAR_COD_ITEM_PEDCL").value(PAR_COD_ITEM_PEDCL)
.key("PAR_COD_CLIENTE").value(PAR_COD_CLIENTE)
.key("PAR_NUM_CAMPA_RB").value(PAR_NUM_CAMPA_RB)
.key("PAR_UM_PROXI").value(PAR_UM_PROXI).endObject()
.value(true).endArray();
} catch (JSONException e) {
e.printStackTrace();
return null;
}
}