【技术实现步骤摘要】
JSON文本的比对方法及装置
[0001]本申请涉及数据处理
,尤其涉及一种JSON文本的比对方法及装置。
技术介绍
[0002]JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在服务端测试过程中经常需要对返回的JSON报文进行比对,以便于找出其中的差异,判断服务端返回的JSON报文中的内容是否符合预期。
[0003]现有的比对JSON报文的方案主要有两种,第一种是依靠人工肉眼对比两个JSON报文;第二种是使用其他已公开的网页比对工具,比如站长工具对JSON报文进行比对。但是,JSON报文中的键值对是无序的,服务端每次接收的JSON报文中的键值对顺序都会改变,键值对顺序改变后的两个SON字符串实质是相同的。由于站长工具只能对文本进行对比,如果两个JSON报文中的键值对顺序发生改变,站长工具返回与实际对比结论不一致的错误的对比结果。
技术实现思路
[0004]针对现有技术中的问题,本申请提出了一种JSON文本的比对方法及装置,能够提高JSON文本比对的准 ...
【技术保护点】
【技术特征摘要】
1.一种JSON文本的比对方法,其特征在于,包括:获取第一JSON报文和第二JSON报文;将第一JSON报文转化为LinkedHashMap类型的第一报文,并将第二JSON报文转化为LinkedHashMap类型的第二报文;根据所述第一报文和第二报文,生成第一解析结果集和第二解析结果集;根据所述第一解析结果集和第二解析结果集,得到比对结果列表并输出。2.根据权利要求1所述的JSON文本的比对方法,其特征在于,所述根据所述第一报文和第二报文,生成第一解析结果集和第二解析结果集,包括:根据所述第一报文中的键值对和该键值对中的值的数据类型,生成第一解析结果集;根据所述第二报文中的键值对和该键值对中的值的数据类型,生成第二解析结果集。3.根据权利要求2所述的JSON文本的比对方法,其特征在于,所述根据所述第一报文中的键值对和该键值对中的值的数据类型,生成第一解析结果集,包括:将所述第一报文作为目标报文,将第一报文中的首位的键值对作为目标键值对,执行遍历步骤,该遍历步骤包括:若所述目标键值对中的值符合第一判断条件或者第二判断条件,则将所述目标报文的JSON路径和目标键值对中的键组成当前JSON路径,将所述目标键值对的值作为当前JSON路径对应的值,加入第一解析结果集;若所述目标报文存在下一位的键值对,则将该下一位的键值对作为新的目标键值对,目标报文保持不变,返回执行所述遍历步骤;若所述目标报文不存在下一位的键值对、该目标报文与第一报文不同并且第一报文存在下一位的键值对,则将所述第一报文的下一位的键值对作为目标键值对,第一报文作为目标报文,返回执行所述遍历步骤;若所述目标报文不存在下一位的键值对、该目标报文与第一报文不同并且第一报文不存在下一位的键值对,则中止当前操作;若所述目标报文为第一报文并且不存在下一位的键值对,则中止当前操作;所述第一判断条件为所述目标键值对的值不是Map类型并且不是列表类型;所述第二判断条件为所述目标键值对的值为列表类型并且列表中的子元素不是Map类型。4.根据权利要求2所述的JSON文本的比对方法,其特征在于,所述根据所述第二报文中的键值对和该键值对中的值的数据类型,生成第二解析结果集,包括:将所述第二报文作为目标报文,将第二报文中的首位的键值对作为目标键值对,执行遍历步骤,该遍历步骤包括:若所述目标键值对中的值符合第一判断条件或者第二判断条件,则将所述目标报文的JSON路径和目标键值对中的键组成当前JSON路径,将所述目标键值对的值作为当前JSON路径对应的值,加入第二解析结果集;若所述目标报文存在下一位的键值对,则将该下一位的键值对作为新的目标键值对,目标...
【专利技术属性】
技术研发人员:邓权威,暨光耀,韩靖,张洁芳,
申请(专利权)人:中国工商银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。