JSONObject.parseObject()

java获取json中某个字段

import com.alibaba.fastjson.JSONObject;
public class JsonTest {
    public static void main(String[] args) {
        // json串(以自己的为准)
        String str = "{"id":"75","shoppingCartItemList":[{"id":"407","num":"10"}]}";
        JSONObject jsonObject = JSONObject.parseObject(str);
        // 获取到key为shoppingCartItemList的值
        String r = jsonObject.getString("shoppingCartItemList");
        System.out.println(r);
    }
}
package com.cmbc.cms.action.addrebatchno; 
 
import java.util.List; 
 
import com.alibaba.fastjson.JSONObject; 
 
public class Test { 
    private int id; 
    private int num; 
    
	public int getId() { 
		return id; 
	} 
 
	public void setId(int id) { 
		this.id = id; 
	} 
 
	public int getNum() { 
		return num; 
	} 
 
	public void setNum(int num) { 
		this.num = num; 
	} 
 
	public static void main(String[] args) { 
		// TODO Auto-generated method stub 
		String str = "{\"id\":\"75\",\"shoppingCartItemList\":[{\"id\":\"407\",\"num\":\"10\"}]}"; 
		JSONObject jsonObject = JSONObject.parseObject(str); 
		// 获取到key为shoppingCartItemList的值 
		String r = jsonObject.getString("shoppingCartItemList"); 
		System.out.println(r); 
 
		//取外面的id 
		String id = jsonObject.getString("id"); 
		System.out.println(id); 
 
		//取里面的id 
		List<Test> list = JSONObject.parseArray(r,Test.class); 
		int id2 = list.get(0).getId(); 
		System.out.println(id2); 
	}  
}

alibaba.fastjson.JSONObject.parseObject的使用

fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,当你要处理一段接收的json数据,就可以考虑使用JSONObject.parseObject

import com.alibaba.fastjson.JSONObject;
parseObject(String str)的作用

JSON.parseObject(String str)是将str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使用其内置的方法,进行各种处理了。

json字段
{
    "code":0,
    "data":{
        "city":{
            "cityId":284609,
            "counname":"中国",
            "ianatimezone":"Asia/Shanghai",
            "name":"东城区",
            "pname":"北京市",
            "secondaryname":"北京市",
            "timezone":"8"
        },
        "liveIndex":{
            "2021-03-17":[
                {
                    "code":5,
                    "day":"2021-03-17",
                    "desc":"天气较好,路面干燥,交通气象条件良好,车辆可以正常行驶。",
                    "level":"1",
                    "name":"交通指数",
                    "status":"良好",
                    "updatetime":"2021-03-17 06:24:03"
                },
                {
                    "code":14,
                    "day":"2021-03-17",
                    "desc":"天气较好,但丝毫不会影响您出行的心情。温度适宜又有微风相伴,适宜旅游。",
                    "level":"1",
                    "name":"旅游指数",
                    "status":"适宜",
                    "updatetime":"2021-03-17 06:24:03"
                }
            ]
        }
    },
    "msg":"success",
    "rc":{
        "c":0,
        "p":"success"
    }
}
{
    "code":0,
    "data":{
        "aqi":{
            "cityName":"东城区",
            "co":"8",
            "coC":"0.8",
            "no2":"28",
            "no2C":"56.0",
            "o3":"2",
            "o3C":"6.0",
            "pm10":"160",
            "pm10C":"270.0",
            "pm25":"73",
            "pm25C":"53.0",
            "pubtime":"1615939200000",
            "rank":"527/678",
            "so2":"1",
            "so2C":"3.0",
            "value":"160"
        },
        "city":{
            "cityId":284609,
            "counname":"中国",
            "ianatimezone":"Asia/Shanghai",
            "name":"东城区",
            "pname":"北京市",
            "secondaryname":"北京市",
            "timezone":"8"
        }
    },
    "msg":"success",
    "rc":{
        "c":0,
        "p":"success"
    }
}
String json = EntityUtils.toString(response.getEntity());
JSONObject jsonObject = JSONObject.parseObject(json);
JSONObject date = jsonObject.getJSONObject("data");
JSONObject liveIndex = date.getJSONObject("liveIndex");
for (Map.Entry<String, Object> entry : liveIndex.entrySet()) {
    JSONArray jsonArray = liveIndex.getJSONArray(entry.getKey());
    for (Object object : jsonArray) {
        JSONObject object1 = (JSONObject) object;
        String name = object1.getString("code");
        String level = object1.getString("level");
        hashMap.put(name,level);
    }
}
String json = EntityUtils.toString(response.getEntity());
JSONObject jsonObject = JSONObject.parseObject(json);
JSONObject data = jsonObject.getJSONObject("data");
JSONObject api = data.getJSONObject("aqi");
String pm25C = api.getString("pm25C");

JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

根据源码显示:JSON是一个抽象类,JSON中有一个静态方法parseObject(String text),将text解析为一个JSONObject对象并返回;JSONObject是一个继承自JSON的类,当调用JSONObject.parseObject(result)时,会直接调用父类的parseObject(String text)。所以两者没什么区别,一个是用父类去调用父类自己的静态的parseObject(String text),一个是用子类去调用父类的静态parseObject(String text),两者调的是同一个方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Archie_java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值