JAVA嵌套解析Json字符串 - 递归方法

本文介绍如何使用Java通过递归方法解析包含复杂嵌套结构的Json字符串,详细阐述了解题思路和具体实现,包括对Json对象和数组的处理,以及示例数据的展示。
摘要由CSDN通过智能技术生成


1、需求

后台接口测试中,http request的response中data是json结构,数据较复杂,嵌套多层,类似于:
{
	key1 : value1,
	key2 : value2,
	.............
	keyT: [
	      {
   		key11: value11,
   		key12: value12,
   		......
   		keyA:   value1A,
   		......
     		keyB:   value1B,
   		.......
   		keyN: value1N
	       },
	       {
   		key11: value21,
   		key12: value22,
   		......
   		keyA:   value2A,
   		......
     		keyB:   value2B,
   		.......
   		keyN: value2N
	       },
	.........
	keyM: valueM,
}




目的:希望从层层嵌套的json串中,将里面的json数组中多组keyA,keyB对应的value抓取到,并成组配对打印到文件中。类似于:
keyA:value1A     keyB:value1B
keyA:value2A     keyB:value2B
..........
keyA:valueKA     keyB:valueKB

2、解题思路

网上Google了一把这类json嵌套解析的方法,有些源码实现较复杂,有些只是提供个思路,都不是很好。算了,自己来写吧。
最笨的方法是想抓什么数据,直接检索(类似于linux的grep的思路),但这种方式扩展性差,并且在json串较复杂时(如部分为空),检索结果容易有偏差。

为减少代码量,考虑用 递归思路来做。

代码如下:

package testJa;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.Iterator;
import org.json.JS
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值