如何从以下JSON字符串中获取字符串[]?

时间:2014-09-03 08:57:39

标签: java

我有以下字符串

["xyz@live.com","abc@live.com"]

我正在使用String.split(",")来获取String []。但是数组内容包含'['和'“'。

我需要用引号来获取实际的字符串。有没有我可以做的图书馆或方法?

目前我这样做。

    recipients = recipients.replace("\"", "");
    recipients = recipients.replace("[", "");
    recipients = recipients.replace("]", "");
    String[] totalRecipients = recipients.split(",");

3 个答案:

答案 0 :(得分:4)

使用boonjackson第三方库将json字符串反序列化为java对象。

Boon示例 -

ObjectMapper mapper =  JsonFactory.create();
String[] recipientArray = mapper.readValue(recipients , String[].class, String.class);

Find Java Boon vs jackson json - 基准 - here

enter image description here

来源:Link

答案 1 :(得分:1)

我建议你使用json库来解决它。

http://jackson.codehaus.org/

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);