json结构校验代码

public static void main(String[] args) {
		Pattern pattern=Pattern.compile("[\\{\\[\\]\\}]");
		String a="{a:\"b\",c:[{d:\"e\",{f:\"g\",h:\"i\"}}]}";//示例
		Pattern pattern1=Pattern.compile("\\{\\}");
		Pattern pattern2=Pattern.compile("\\[\\]");
		Matcher matcher=pattern.matcher(a);
		StringBuilder sb=new StringBuilder();
		StringBuilder sb1=null;
		while(matcher.find()){
			String d=matcher.group(0);
			System.err.println(d);
			sb.append(d);
		}
		if(sb.length()%2!=0){
			System.err.println("error");
		}else{
			char[] cs=sb.toString().toCharArray();
			for(int i=0;i<=sb.length()/2-1;i++){
				sb1=new StringBuilder();
				sb1.append(cs[i]).append(cs[sb.length()-1-i]);
				System.err.println("sb2="+sb1.toString());
				Matcher matcher1=pattern1.matcher(sb1.toString());
				Matcher matcher2=pattern2.matcher(sb1.toString());
				while(matcher1.find()||matcher2.find()){
					System.err.println("json结构匹配");
				}
			}
			System.err.println("标签数是对的");
		}
	}


你可能感兴趣的:(json,正则表达式)