我有以下字符串
["xyz@live.com","abc@live.com"]
我正在使用String.split(",")
来获取String []。但是数组内容包含'['和'“'。
我需要用引号来获取实际的字符串。有没有我可以做的图书馆或方法?
目前我这样做。
recipients = recipients.replace("\"", "");
recipients = recipients.replace("[", "");
recipients = recipients.replace("]", "");
String[] totalRecipients = recipients.split(",");
答案 0 :(得分:4)
使用boon
或jackson
第三方库将json字符串反序列化为java对象。
Boon示例 -
ObjectMapper mapper = JsonFactory.create();
String[] recipientArray = mapper.readValue(recipients , String[].class, String.class);
Find Java Boon vs jackson json - 基准 - here
来源:Link
答案 1 :(得分:1)
我建议你使用json库来解决它。
String s = "[\"xyz@live.com\",\"abc@live.com\"]";
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readValue(s);
for(JsonNode n : node){
.......
}
答案 2 :(得分:1)
你可以使用google's gson并将你的json解码为String[]
你只需使用这行代码
Gson gson = new Gson();
String[] myArray = gson.fromJson(yourjson,String[].class);