list转json 有转义字符怎么办

图片说明代码如下 我自己写的json字符串拼接 有转义字符

楼主,这样来

public static void main(String[] args) {

    Map<String, String> map = new HashMap<String,String>();

    map.put("name", "楼主");
    map.put("id", "666");
    map.put("value", "本体");

    //再加个list,
    List<String> list = new ArrayList<String>();
    list.add("唐僧");
    list.add("孙悟空");
    list.add("沙悟净");
    list.add("猪悟能");
    map.put("data", list.toString());

    JSONArray js = JSONArray.fromObject(map);
    String str = js.toString().substring(1, js.toString().length() - 1);
    System.out.println(str);
    //打印效果
    //{"id":"666","name":"楼主","value":"本体","data":"[唐僧, 孙悟空, 沙悟净, 猪悟能]"}
}

将带‘\’的json字符串通过remove方法将‘\’全部去掉就好了。

为什么要写转义字符,不需要吧

你可以用单引号试试啦

list.add("{\"name\":" + str[i] + ",\"value\":\"本体\"}");

使用斜杠是做拼接成json数据,如果想把list变成json就不需要斜杠在通过一些插件把list或者map转成json即可