文档章节

json结构校验代码

小宋
 小宋
发布于 2015/04/27 13:43
字数 168
阅读 15
收藏 0
点赞 0
评论 0
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("标签数是对的");
		}
	}


© 著作权归作者所有

共有 人打赏支持
小宋
粉丝 1
博文 11
码字总数 4902
作品 0
朝阳
程序员
Bumpover.js - 牢固而趁手的数据校验转换库

Bumpover 能帮助你编写出简洁明了的数据校验与转换代码。通过熟悉的类型注解 API 与声明式的转换规则,你可以轻松地在运行期校验未知的数据,并将其转换为自己可控的格式。 稳定的数据结构对...

⋅ 01/05 ⋅ 0

renren-security v2.1.0 发布,J2EE 快速开发平台

renren-security是一款基于代码生成器的J2EE快速开发平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展,方便二次开发! v2.1版本更新日志: 新增XSS过滤,自动过滤request、json非...

独孤求胜16 ⋅ 2017/06/02 ⋅ 4

2014年 代码总结与疑问

清楚的记得,2013年6月就开始出来实习,然后2014年3月来到深圳一家企业,6月大学毕业,10月转正直到现在。在工作中一直从事研发,包括 JavaScript、java、Android ,但是由于个人经验不足,总...

learn_more ⋅ 2015/01/25 ⋅ 25

慕课网Flask构建可扩展的RESTful API-4. 理解WTForms并灵活改造她

4.1 重写WTForms 优化1 之前的代码,修改完成之后,已经修复了之前的缺陷,但是这样爆出了两个问题: 1.代码太啰嗦了,每个试图函数里,都需要这么写 2.ClientTypeError只是代表客户端类型异...

Meet相识_bfa5 ⋅ 前天 ⋅ 0

使用bejson来解析和查看json数据

网址是 http://www.bejson.com Be Json Make Json Easy 1 JSON格式化校验 很多人在得到JSON数据后,一时没有办法判断JSON数据格式是否正确,是否少或多符号而导致程序不能解析,这个功能正好能帮...

废柴大叔 ⋅ 2013/02/18 ⋅ 2

http接口测试—自动化测试框架设计

一、测试需求描述 对服务后台一系列的http接口功能测试。 输入:根据接口描述构造不同的参数输入值(Json格式) 输出:字符串(传入的方式+传入的字符串) http://localhost:8090/lctest/Tes...

红焖鲤鱼 ⋅ 2015/08/31 ⋅ 8

JAVA 极速WEB+ORM框架 - JFinal

JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、p...

JFinal ⋅ 2012/03/18 ⋅ 496

通过RobotFramework简单的接口请求示例

一个简单的接口请求示例,接口测试将在此基础上进行! 库文件的导入: 需要导入的库 Collections 和 RequestsLibrary 编写测试case: 下图中的执行结果获取到接口请求回来的内容给变量${Req...

Bony ⋅ 2016/05/12 ⋅ 0

SpringMVC中使用Kaptcha验证码组件生成比较安全的验证码

一 简介 Kaptcha是一个基于SimpleCaptcha的验证码开源项目,在我们的项目中使用Kaptcha组件可以快速生成比较安全的验证码。同时Kaptcha还提供了许多的参数可以让我们自定义生成的验证码样式 ...

pangfc ⋅ 2017/01/06 ⋅ 0

理解JSON对象

语法规则   JSON的语法可以表示以下三种类型的值 【1】简单值   简单值使用与javascript相同的语法,可以在JSON中表示字符串、数值、布尔值和null   字符串必须使用双引号表示,不能使...

jjjssswww ⋅ 2017/06/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 21分钟前 ⋅ 0

Python模块/包/库安装(6种方法)

Python模块/包/库安装(6种方法) 冰颖机器人 2016-11-29 21:33:26 一、方法1: 单文件模块 直接把文件拷贝到 $python_dir/Lib 二、方法2: 多文件模块,带setup.py 下载模块包(压缩文件zip...

cswangyx ⋅ 40分钟前 ⋅ 0

零基础学习大数据人工智能,学习路线篇!系统规划大数据之路?

大数据处理技术怎么学习呢?首先我们要学习Python语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。 Python:Python 的排名从去年开始就借助人工智能持续上升,现在它已经...

董黎明 ⋅ 49分钟前 ⋅ 0

openJdk和sun jdk的区别

使用过LINUX的人都应该知道,在大多数LINUX发行版本里,内置或者通过软件源安装JDK的话,都是安装的OpenJDK, 那么到底什么是OpenJDK,它与SUN JDK有什么关系和区别呢? 历史上的原因是,Ope...

jason_kiss ⋅ 58分钟前 ⋅ 0

梳理

Redux 是 JavaScript 状态容器,提供可预测化的状态管理。 它是JS的状态容器,是一种解决问题的方式,所以即可以用于 react 也可以用于 vue。 需要理解其思想及实现方式。 应用中所有的 stat...

分秒 ⋅ 今天 ⋅ 0

Java 后台判断是否为ajax请求

/** * 是否是Ajax请求 * @param request * @return */public static boolean isAjax(ServletRequest request){return "XMLHttpRequest".equalsIgnoreCase(((HttpServletReques......

JavaSon712 ⋅ 今天 ⋅ 0

Redis 单线程 为何却需要事务处理并发问题

Redis是单线程处理,也就是命令会顺序执行。那么为什么会存在并发问题呢? 个人理解是,虽然redis是单线程,但是可以同时有多个客户端访问,每个客户端会有 一个线程。客户端访问之间存在竞争...

码代码的小司机 ⋅ 今天 ⋅ 0

到底会改名吗?微软GVFS 改名之争

微软去年透露了 Git Virtual File System(GVFS)项目,GVFS 是 Git 版本控制系统的一个开源插件,允许 Git 处理 TB 规模的代码库,比如 270 GB 的 Windows 代码库。该项目公布之初就引发了争...

linux-tao ⋅ 今天 ⋅ 0

笔试题之Java基础部分【简】【二】

1.静态变量和实例变量的区别 在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变...

anlve ⋅ 今天 ⋅ 0

Lombok简单介绍及使用

官网 通过简单注解来精简代码达到消除冗长代码的目的 优点 提高编程效率 使代码更简洁 消除冗长代码 避免修改字段名字时忘记修改方法名 4.idea中安装lombnok pom.xml引入 <dependency> <grou...

to_ln ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部