如何在不使用Jackson Api的情况下将Java中的字符串转换为List <string>

时间:2018-12-20 15:47:26

标签: java json list arraylist

我需要在不使用Jackson Api的情况下将String转换为Java中的List。 我的琴弦就像

String abc = "[\"A\",\"B\",\"C\"]";

我希望它转换为列表。

我已经导入了net.sf.jsonorg.json.simple

我不能使用Jackson API,但是还有其他方法可以使用split吗?

2 个答案:

答案 0 :(得分:3)

由于您拥有org.json.simple,因此可以使用JSONParser来解析JSON

String abc = "[\"A\",\"B\",\"C\"]";
JSONParser parser = new JSONParser();
Object obj = parser.parse(abc);

答案 1 :(得分:1)

如果仅给出json字符串格式["A","B","C"],则可以手动解析它:

public static List<String> parse(String str) {
    List<String> res = new ArrayList<>();
    int pos = str.indexOf('[') + 1;

    while ((pos = str.indexOf('"', pos)) >= 0) {
        int beginIndex = pos + 1;
        int endIndex = str.indexOf('"', beginIndex);
        res.add(str.substring(beginIndex, endIndex));
        pos = endIndex + 1;
    }

    return res;
}