今天朋友让我帮忙截取一下json数据,要把头部和尾部不需要的数据去掉
例如String str=”{code: 15156,message:{zgy:123 WSX.456},id:852}”;
比如要求截取第二个’{“到倒数第二个}的数据
得到”{zgy:123,wsx:456}”
刚开始想在网上参考下别人的代码,但是没找到想要的,所以就自己写了一段
此方法可以截取第N个某字符到至倒数第N个另一字符的字符串,保留第N个字符
public class test {
public static void main(String[] args)throws Exception{
String str="{code:15156,message:{zgy:123,wsx:456},id:852}";
String str2=getSubStr(str,2);
System.out.println(str2);
}
private static String getSubStr(String str, int num) {
String result = "";
int i = 0;
int last;
int first;
while(i < num) {
if(i==num-1)//保留第num个'{'和倒数第num个'}',如果不需要,则只执行else里的代码就行
{last = str.lastIndexOf("}")+1;
first = str.indexOf("{");
}
else {
last = str.lastIndexOf("}");
first = str.indexOf("{")+1;
}
str = str.substring(first, last);
i++;
}
return str;
}
}