【发布时间】:2019-05-09 04:44:19
【问题描述】:
我有一些数据想要转换成 json 对象。我想要的数据是这样的
{"week":"Apr 22, 2019","package_id":23,"weekdata":["2019-05-07##14:00##16:45"]}
工作日为数组类型,其他为json对象类型。我已经做了一些代码来转换它,但我可以像
一样转换它{"weekdata":"[\"2019-04-01##5:0##5:0\",\"2019-04-02##5:0##5:0\"]","package_id":"44","week":"Apr 01, 2019"}
代码:
创建weekdata数组的代码:
String firstDay = etDate1.getText().toString() + "##" + etStartTime1.getText().toString() + "##" + etEndTime1.getText().toString();
String secondDay = etDate2.getText().toString() + "##" + etStartTime2.getText().toString() + "##" + etEndTime2.getText().toString();
selectionItems.add(firstDay);
selectionItems.add(secondDay);
String[] blist = new String[selectionItems.size()];
Log.e("tag", "array" + blist.length + selectionItems);
for (int i = 0; i < selectionItems.size(); i++) {
blist[i] = selectionItems.get(i);
}
Log.e("tag", "arrayList" + blist[0]);
weekdata = new JSONArray();
for (int i = 0; i < blist.length; i++) {
weekdata.put( blist[i] );
}
转换成 json 发送到 volley 中:
HashMap<String, String> params = new HashMap<String, String>();
params.put("package_id", package_id);
params.put("week", weekName);
params.put("weekdata",weekdata.toString() );
JSONObject obj = new JSONObject(params);
我得到如下数据:
{"weekdata":"[\"2019-04-01##5:0##5:0\",\"2019-04-02##5:0##5:0\"]","package_id":"44","week":"Apr 01, 2019"}
如何将其转换为以下格式:
{"week":"Apr 22, 2019","package_id":23,"weekdata":["2019-05-07##14:00##16:45"]}
请帮忙。
【问题讨论】:
-
@Jean-BaptisteYunès 这将无济于事,因为她定义了 Map 是否应该有 String, String 所以在内部它将调用 toString 方法()。
标签: android json android-volley