JSon解析

Json作为主流的数据交换语言之一 ,有着自己特有的优点;

相比于XML更小的内存占用,同时JSON,对人对机器的易于阅读和写入,更加使的JSON成为主流数据交换语言.

所以我们应该掌握第三方的工具来解析JSON。

JSON 使用 {......} 来保存对象.每个对象由若干数据组成,数据是由一对对 key:value 构成的,每个数据之间由 ,(逗号)隔开  ,使用 [......] 来保存集合;

FastJSON是阿里巴巴社区开源的解析库,其具备速度快,使用广泛 ,测试完备,使用简单,功能完备的特点

在使用时无非面临两种情况

情景一: 将数据转化为JSON格式

使用 toJSONString方法可以很快的将java对象序列化成为一个JSON字符串

public class Damo01 {
	public static void main(String[] args) {
		PoliceStation p1 = new PoliceStation();
		p1.setName("晚");
		p1.setAddr("晚灯路");
		p1.setTel("155945008");
		String str= JSON.toJSONString(p1);
		System.out.println(str);
	}
}

结果为:

{"addr":"晚灯路","name":"晚","tel":"155945008"}

情景二:将JSON字符串转换成Java对象

有JSON格式如下:

{\"temperature\":\"24℃~39℃\",\"weather\":\"小雨\",\"weather_id\":{\"fa\":\"07\",\"fb\":\"07\"},\"wind\":\"东北风3-5级\",\"week\":\"星期一\",\"city\":\"西安\",\"date_y\":\"2022年07月11日\",\"dressing_index\":\"炎热\",\"dressing_advice\":\"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。\",\"uv_index\":\"弱\",\"comfort_index\":\"\",\"wash_index\":\"不宜\",\"travel_index\":\"较不宜\",\"exercise_index\":\"较不宜\",\"drying_index\":\"\"}

将其中的有关天气的数据取出,首先要将JSON字符串通过 parseObject()方法转化成Json类型的对象

public class Damo02 {
	public static void main(String[] args) {
		String  jstr = "{\"temperature\":\"24℃~39℃\",\"weather\":\"小雨\",\"weather_id\":{\"fa\":\"07\",\"fb\":\"07\"},\"wind\":\"东北风3-5级\",\"week\":\"星期一\",\"city\":\"西安\",\"date_y\":\"2022年07月11日\",\"dressing_index\":\"炎热\",\"dressing_advice\":\"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。\",\"uv_index\":\"弱\",\"comfort_index\":\"\",\"wash_index\":\"不宜\",\"travel_index\":\"较不宜\",\"exercise_index\":\"较不宜\",\"drying_index\":\"\"}";
		
		//JSONObject继承自linkedhashmap
		JSONObject weater = JSON.parseObject(jstr);
		System.out.println(""+weater);
		
		//根据key来获取对应的value
		String wind = weater.getString("wind");
		System.out.println("风力:"+wind);
		
	}
}

结果为:

{"temperature":"24℃~39℃","weather":"小雨","weather_id":{"fa":"07","fb":"07"},"wind":"东北风3-5级","week":"星期一","city":"西安","date_y":"2022年07月11日","dressing_index":"炎热","dressing_advice":"天气炎热,建议着短衫、短裙、短裤、薄型T恤衫等清凉夏季服装。","uv_index":"弱","comfort_index":"","wash_index":"不宜","travel_index":"较不宜","exercise_index":"较不宜","drying_index":""}

风力:东北风3-5级

上面的例子是较为简单例子,只涉及到一个对象的,而实际情况要比这复杂的多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值