Java发送及解析多层嵌套JSON

本文介绍如何使用Java生成并解析多层嵌套的JSON数据。通过创建多个HashMap实例来构造复杂的JSON对象,并展示了如何将这些对象转换为JSON字符串。此外,还提供了从JSON字符串中提取数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java发送及解析多层嵌套JSON

传入多层嵌套JSON

在这里插入图片描述

public static void main(String[] args) throws Exception {
		//最外层
		HashMap<String, Object> map = new HashMap<>();
		
		HashMap<String, Object> a = new HashMap<>();
		HashMap<String, Object> b = new HashMap<>();
		HashMap<String, Object> c1 = new HashMap<>();
		HashMap<String, Object> c2 = new HashMap<>();
		
		a.put("a1", "101");
		a.put("a2", "102");
		
		b.put("b1", "201");
		b.put("b2", "202");
		
		c1.put("c11", "301");
		c1.put("c12", "302");
		c2.put("c21", "303");
		c2.put("c22", "304");
		HashMap[] c = {c1, c2};
		
		String d = "401";
		
		map.put("a", a);
		map.put("b", b);
		map.put("c", c);
		map.put("d", d);
		
		JSONObject json = new JSONObject(map);
        System.out.println("【JSON字符串】"+json.toString());
	}

在这里插入图片描述

解析多层嵌套JSON

在这里插入图片描述

public static void main(String[] args) throws Exception {
		
		String jsonStr = getJson();
		JSONObject jsonObject = FastJson.getJson().parse(jsonStr, JSONObject.class);
		
		JSONObject a = (JSONObject)jsonObject.get("a");
		System.out.println("【a】" + a.toString());
		
		JSONObject b = (JSONObject)jsonObject.get("b");
		System.out.println("【b】" + b.toString());
		
		JSONArray c = jsonObject.getJSONArray("c");
		System.out.println("【c0】"+ c.get(0));
		System.out.println("【c1】"+ c.get(1));
		
		String d = jsonObject.getString("d");
		System.out.println("【d】"+ d);
		
	}
	
	public static String getJson(){
		//最外层
		HashMap<String, Object> map = new HashMap<>();
		
		HashMap<String, Object> a = new HashMap<>();
		HashMap<String, Object> b = new HashMap<>();
		HashMap<String, Object> c1 = new HashMap<>();
		HashMap<String, Object> c2 = new HashMap<>();
		
		a.put("a1", "101");
		a.put("a2", "102");
		
		b.put("b1", "201");
		b.put("b2", "202");
		
		c1.put("c11", "301");
		c1.put("c12", "302");
		c2.put("c21", "303");
		c2.put("c22", "304");
		HashMap[] c = {c1, c2};
		
		String d = "401";
		
		map.put("a", a);
		map.put("b", b);
		map.put("c", c);
		map.put("d", d);
		
		JSONObject json = new JSONObject(map);
        System.out.println("【JSON字符串】"+json.toString());
        return json.toString();
	}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值