我需要在不使用Jackson API的情况下在Java中将String转换为List。我的字符串就像
String abc = "["A","B","C"]";
我希望它转换为列表。
我已经导入了net.sf.json
和org.json.simple
。
我不能使用杰克逊 API,但有没有其他方法可以代替使用拆分?
既然你有org.json.simple
,你可以使用 JSONParser
来解析 JSON
String abc = "["A","B","C"]";
JSONParser parser = new JSONParser();
Object obj = parser.parse(abc);
如果您只给出了 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;
}