Java 关于轮换列表<;字符串>;串连

Java 关于轮换列表<;字符串>;串连,java,gson,Java,Gson,我使用gson将列表转换成字符串。像这样: Gson gson = new Gson(); String youtubeListStr = gson.toJson(List<String> strList); 如何获得正确的url https:\\www.youtube.com\embed\mGBaWXelaM0 我想打印上面的结果。这是正确的URI,它只是有\ 如果希望打印值而不是整个json字符串,那么需要使用Gson解析json行并提取所需的部分 JsonElement e

我使用gson将列表转换成字符串。像这样:

Gson gson = new Gson();
String youtubeListStr = gson.toJson(List<String> strList);
如何获得正确的url

https:\\www.youtube.com\embed\mGBaWXelaM0

我想打印上面的结果。

这是正确的URI,它只是有
\

如果希望打印值而不是整个json字符串,那么需要使用Gson解析json行并提取所需的部分

JsonElement element = new JsonParser().parse(url);
JsonObject  object = element.getAsJsonObject();
JsonElement serviceElement = object.get("value");

别担心,一切正常:
json
xml
一样有一组转义字符,其中一个是
\
。因此,当您从这个
json
读回值时,它将是所需格式的相应url


UPD-2:BTW
https:\\www.youtube.com\embed\mGBaWXelaM0
-不是正确的URL。它应该是:
https://www.youtube.com/embed/mGBaWXelaM0
UPD:

完整代码:

    List<String> strList = Arrays.asList("https://www.youtube.com/embed/mGBaWXelaM0", "https://www.youtube.com/embed/mGBaWXelaM0");
    Gson gson = new Gson();
    String youtubeListStr = gson.toJson(strList);
    System.out.println(youtubeListStr);

    Type type = new TypeToken<List<String>>() {}.getType();
    List<String> youtube_List = gson.fromJson(youtubeListStr, type);
    for(String url : youtube_List){
        System.out.println(url);
    }

所以一切都是正确的。

我认为OP的意思是他想打印
https:\\www.youtube.com\embed\mGBaWXelaM0
,而不是
{“value”:“https:\/\/www.youtube.com\/embed\/mGBaWXelaM0”}
我刚刚测试了你的代码:一切都打印正常,就像你想要的那样。看起来你的误解很简单。顺便说一句,https:\\www.youtube.com\embed\mGBaWXelaM0-不是正确的URL。它应该是:
https://www.youtube.com/embed/mGBaWXelaM0
JsonElement element = new JsonParser().parse(url);
JsonObject  object = element.getAsJsonObject();
JsonElement serviceElement = object.get("value");
    List<String> strList = Arrays.asList("https://www.youtube.com/embed/mGBaWXelaM0", "https://www.youtube.com/embed/mGBaWXelaM0");
    Gson gson = new Gson();
    String youtubeListStr = gson.toJson(strList);
    System.out.println(youtubeListStr);

    Type type = new TypeToken<List<String>>() {}.getType();
    List<String> youtube_List = gson.fromJson(youtubeListStr, type);
    for(String url : youtube_List){
        System.out.println(url);
    }
["https://www.youtube.com/embed/mGBaWXelaM0","https://www.youtube.com/embed/mGBaWXelaM0"]
https://www.youtube.com/embed/mGBaWXelaM0
https://www.youtube.com/embed/mGBaWXelaM0