我需要在不使用Jackson Api的情况下将String转换为Java中的List。 我的琴弦就像
String abc = "[\"A\",\"B\",\"C\"]";
我希望它转换为列表。
我已经导入了net.sf.json
和org.json.simple
。
我不能使用Jackson API,但是还有其他方法可以使用split吗?
答案 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;
}