JSON解析

本文介绍如何使用Java解析JSON格式的数据,包括对象和数组,并演示了如何处理这些数据以获取具体字段值的过程。同时讨论了如何判断某个字段是否为null。

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

json格式如下

{
    "report": {"id": 1,"name": "liu","age": 23,"sex": "男"},
    "web": [
                    {"id": 1,"name": "liu","age": 23,"sex": "男"},
                    {"id": 2,"name": "liu","age": 23,"sex": "男"},
                    {"id": 3,"name": "liu","age": 23,"sex": "男"},
                    {"id": 4,"name": "liu","age": 23,"sex": "男"}
                  ]
}

导入的jar包

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

在pom.xml里注入依赖

<dependency>
	    <groupId>net.sf.json-lib</groupId>
	    <artifactId>json-lib</artifactId>
	    <version>2.4</version>
	    <classifier>jdk15</classifier>
</dependency>

代码编写如下

String Value = "{\"report\":{\"id\":\"0\",\"name\":\"hu\",\"age\":\"18\",\"sex\":\"男\"},\"web\":[{\"id\":\"1\",\"name\":\"liu\",\"age\":\"23\",\"sex\":\"女\"},{\"id\":\"2\",\"name\":\"wang\",\"age\":\"20\",\"sex\":\"男\"},{\"id\":\"3\",\"name\":\"li\",\"age\":\"23\",\"sex\":\"女\"},{\"id\":\"4\",\"name\":\"zhang\",\"age\":\"21\",\"sex\":\"男\"}]}";
    	
    	JSONObject  obj = JSONObject.fromObject(Value); //解析JSON字符串
        JSONObject report = obj.getJSONObject("report");
        String id = (String) report.get("id");
        String name = (String) report.get("name");
        String age = (String) report.get("age");
        String sex = (String) report.get("sex");
        System.out.println("id值是:"+id+",name是:"+name+",age是:"+age+",sex是:"+sex);
        JSONArray  arr = obj.getJSONArray("web");//接收JSON对象里的数组
        for (int i = 0; i < arr.size(); i++) {
		JSONObject temp = arr.getJSONObject(i);
		String ids = (String) temp.get("id");
	        String names = (String) temp.get("name");
	        String ages = (String) temp.get("age");
	        String sexs = (String) temp.get("sex");
	        System.out.println("ids值是:"+ids+",names是:"+names+",ages是:"+ages+",sexs是:"+sexs);
	}
注意:Object obj = report.get("id");
     如何对于obj = null;做处理
     if(obj instanceof JSONNull) system.out.print("obj为null");

json的格式有很多种,这里主要涉两种:对象、数组包含对象。

JSONObject对象形式,JSONArray数组形式。

欢迎大家一起讨论、学习!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值