如何使用Android Studio在JsonArray中删除反斜杠(“ \”“)?

时间:2019-08-16 07:35:55

标签: java android string

我正在尝试使用JsonArray更新服务器上的多个JsonObject数据。

输出:-

["{\"stock_name\":\"1\",\"no_of_share\":\"1\",\"tranz_dt\":\"1\",\"buy_price\":\"1\"}","{\"stock_name\":\"2\",\"no_of_share\":\"2\",\"tranz_dt\":\"2\",\"buy_price\":\"2\"}","{\"stock_name\":\"3\",\"no_of_share\":\"3\",\"tranz_dt\":\"3\",\"buy_price\":\"3\"}"]

输出代码:

for (int i = 0; i < ItemModelList.size(); i++) {
    requestJson1.put("stock_name", ItemModelList.get(i).getStock_name().toString());
    requestJson1.put("no_of_share", ItemModelList.get(i).getNo_of_share().toString());
    requestJson1.put("tranz_dt", ItemModelList.get(i).getTranz_dt().toString());
    requestJson1.put("buy_price", ItemModelList.get(i).getBuy_price().toString());
   jsonArray1.put(requestJson1.toString());
}
requestJson.put("stockrow", jsonArray1.toString().replaceAll("\"", ""));

我期望结果使用JsonArray添加多个对象,且不带反斜杠。

4 个答案:

答案 0 :(得分:1)

无需替换字符串。

只需更换

jsonArray1.put(requestJson1.toString());

作者

jsonArray1.put(requestJson1)

您需要一个JSON对象数组,而不是字符串。

答案 1 :(得分:0)

“结果”是您获取的JSON格式字符串(如OutPut)。

JSONArray jsonArray = new JSONArray(result);

例如,获取股票名称:

String[] stock_name;
stock_name = new String[jsonArray.length()];

for (int i = 0; i < jsonArray.length(); i++) {
     JSONObject jsonData = jsonArray.getJSONObject(i);
     stock_name[i] = jsonData.getString("stock_name");
}

答案 2 :(得分:0)

将“ /”替换为“”

result = result.replaceAll("/","");
JSONArray jsonArray = new JSONArray(result);

现在jsoanArray中没有“ /”数据。要了解更多,请查看this

答案 3 :(得分:0)

删除各种点缀的toString()调用,并为每个ItemModel创建一个新的JSONObject添加到您的数组中(否则,您最终将在数组中得到一个项目)。

for (int i = 0; i < ItemModelList.size(); i++) {
    final ItemModel im = ItemModelList.get(i);
    final JSONObject o = new JsonObject();
    o.put("stock_name", im.getStock_name());
    o.put("no_of_share", im.getNo_of_share());
    o.put("tranz_dt", im.getTranz_dt());
    o.put("buy_price", im.getBuy_price());
    jonArray1.put(im);
}
requestJson.put("stockrow", jsonArray1);