我要求这样的事情。
{"REQ_DATA":
{"CLPH_NO":"010123456789","USE_INTT_NO":""}
}
但服务器只接受此
{"REQ_DATA":
[{"CLPH_NO":"010123456789","USE_INTT_NO":""}]
}
我该怎么办?我对JSON非常赞不绝口,请帮助我。
答案 0 :(得分:2)
REQ_DATA需要是JSONArray。尝试实现类似这样的东西
try {
JSONObject object = new JSONObject();
JSONArray requiredDataArray = new JSONArray();
JSONObject data = new JSONObject();
data.put("CLPH_NO", "010123456789");
data.put("USE_INTT_NO", "");
requiredDataArray.put(data);
object.put("REQ_DATA", requiredDataArray);
Log.d("JSON", object.toString());
} catch (JSONException e) {
e.printStackTrace();
}
答案 1 :(得分:1)
您可以尝试:
JSONObject fromRequest = request.getJSONObject();// given from request
JSONObject toServer = new JSONObject();
JSONArray arr = new JSONArray();
arr.put(fromRequest.get("REQ_DATA"));
toServer.put("REQ_DATA", arr);
答案 2 :(得分:1)
您没有将JSONObject更改为JSONArray,而是创建一个JSONArray,然后将JSONObject添加到该数组。
try {
JSONObject reqData = new JSONObject();
reqData.put("CLPH_NO", "010123456789");
reqData.put("USE_INTT_NO", "");
JSONArray array = new JSONArray();
array.put(reqData);
JSONObject request = new JSONObject();
request.put("REQ_DATA", reqData);
String requestAsJSONString = request.toString();
// call web service
} catch (JSONException e) {
// handle exception
}
您需要将requestAsJSONString
发送到服务器。
此外,我建议您将JSON对象键放在最终字段中,如下所示:
static final String KEY_REQ_DATA = "REQ_DATA";
然后在代码中使用KEY_REQ_DATA
,而不是使用硬编码的字符串。
答案 3 :(得分:1)
Jsonarray array = new Jsonarray();
Jsonobject insidearray = new jsonobject;
insidearray.put("CLPH_NO", "010123456789");
insidearray.put("USE_INTT_NO", "");
array.put(insidearray);
Jsonobject object = new Jsonobject();
object.put("REQ_DATA",array);
变量可能需要一点编辑,从手机上执行此操作但是你去了
答案 4 :(得分:1)
只需简单的解决方案,无需使用任何硬编码的字符串
public void showTimePickerDialog(View v) {
DialogFragment newFragment = new TimePickerFragment();
newFragment.show(getSupportFragmentManager(), "timePicker");
}
答案 5 :(得分:1)
这是根据服务器检查它的json字符串的简单解决方案
JSONObject jo = new JSONObject();
try {
jo.put("CLPH_NO", "010123456789");
jo.put("USE_INTT_NO", "");
} catch (Exception e) {
}
JSONArray ja = new JSONArray();
ja.put(jo);
JSONObject final_jo = new JSONObject();
try {
final_jo.put("REQ_DATA", ja);
} catch (Exception e) {
}
Toast.makeText(getApplicationContext(),final_jo.toString(),Toast.LENGTH_LONG).show();