Java 关于轮换列表<;字符串>;串连
我使用gson将列表转换成字符串。像这样: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 = 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