【发布时间】:2020-01-15 04:42:04
【问题描述】:
我正在创建一个应用程序,我必须在其中向服务器发送或发布数据。我能够将数据发送到对象或数组,但我无法先在对象中发送数据,而不是在其子数组中发送数据,然后再在对象中发送数据。谁能帮我解决这个问题,我将非常感激。数据以下面给出的形式发送。
{
name:
no:
data: [
{
surname:
option:
another_option:
}
]
another:
}
我想以字符串形式发布我的数据,因为它是对象形式 我想更新其中一个对象中的 ArrayList 但我无法获得如何在我的“数据:”中发送数据,因为我无法了解如何在我的参数中的数组列表中发布我的字符串值。可以有n个没有。我的 ArrayList 对象中的数组列表。我不知道如何在 POST 方法中发送或放入我的数据,请帮帮我
这是我正在尝试的代码。
private void new_process() {
String URL = "http://117.240.196.238:8080/api/raid";
Log.i("response", URL);
StringRequest jsonObjRequest = new StringRequest(
Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("response_process", response);
Upload_work(response);
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("volley", "Error" + error.getMessage());
Log.i("response_error", error.toString());
}
}) {
@Override
public String getBodyContentType() {
return "application/x-www-form-urlencoded; charset=UTF-8";
}
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
String lic_date, lic_letter, lic_copy, sale_date, sale_letterno, sale_copy, material_name, material_quantity, quantity_in, fir_num, fir_dates, fir_policestation, sample_code, sample_date; List<String> number = new ArrayList<>();
number.add(first_text);
number.add(second_text);
number.add(third_text);
params.put("name", name);
params.put("no.", number);
params.put("data", ?????); // how to pass my list of string number to this data
params.put("another", another);
return params;
}
};
RequestQueue queue = SingletonRequestQueue.getInstance(getApplicationContext()).getRequestQueue();
queue.add(jsonObjRequest);
}
private void Upload_work(String response) {
Log.i("response_Upload_work", response);
try {
JSONObject json = new JSONObject(response);
int success = json.getInt("success");
String msg = json.getString("message");
if (success == 1) {
JSONObject c = json.getJSONObject("data");
String messg = c.getString("message");
Toast.makeText(this, messg, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(ScrollingActivity.this, msg, Toast.LENGTH_LONG).show();
}
} catch (Exception ex) {
Log.i("responseNew m", "Exception : " + ex.toString());
}
}
我尝试创建一个 JsonArray,然后创建一个 Jsonobject,然后在我的参数中传递 json 数组,但我无法将 jsonArray 与 jsonobject 链接起来
JsonArray sample_obj = new JsonArray();
try {
JSONObject j = new JSONObject();
JSONObject c = new JSONObject(j.toString());
c.put("name", sample_code);
c.put("value", "google.com");
} catch (JSONException e) {
e.printStackTrace();
}
如果我以正确的方式做这件事或者我还需要做什么,请帮助我。
【问题讨论】:
标签: android-studio android-volley