GSON学习-台风路径json解析

package com.wangqsh.gson;

import java.util.HashMap;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class GsonTest {
	public static void main( String args[] ){
		System.out.println("hello");
		PrimitivesSerialization();
		
		PrimitivesDeserialization();
		
		Gson gson = new Gson();
		//Object example
		BagOfPrimitives obj = new BagOfPrimitives();
		String json = gson.toJson(obj);
		System.out.println("Object example");
		System.out.println(json);
		
		obj = gson.fromJson(json, BagOfPrimitives.class);
		System.out.println(obj.toString());
		
		json = "{\"forecast\":[{\"order_id\":\"2012102917\",\"jingdu\":\"108.1\",\"weidu\":\"21.7\",\"time_dif\":0,\"wind_speed\":\"15\",\"air_pressure\":\"1,004\",\"radius_30k\":0,\"radius_50k\":0,\"typhoon_id\":\"1223 \",\"fc_station\":\"1\",\"ty_date\":\"2012-10-29 17:00\"}]}";
		Map<String, String> map;
		map = new HashMap<String, String>();
		map.put("city", "北京");
		map.put("cityid", "101010100");	
		
		System.out.println("map's json:" + gson.toJson(map));
		
		Map<String, Map<String, String>> weather;
		weather = new HashMap<String, Map<String, String>>();
		weather.put("weatherinfo", map);
		System.out.println("weather info's json:" + gson.toJson(weather));
		
		String weatherinfo = gson.toJson(weather);
		weather = gson.fromJson(weatherinfo, new TypeToken<Map<String, Map<String, String>>>(){}.getType());
		System.out.println(weather.toString());
		System.out.println("weather info's json:" + gson.toJson(weather));
		
		List<Map<String, String>> list = new ArrayList<Map<String, String>>();
		list.add(map);
		list.add(map);
		weatherinfo = gson.toJson(list);
		System.out.println(weatherinfo);
		
		Map<String, List<Map<String, String>>> listmap;
		listmap = new HashMap<String, List<Map<String, String>>>();
		listmap.put("weatherinfo",list);
		listmap.put("path",list);
		System.out.println("list map's json:" + gson.toJson(listmap));
		
		listmap = gson.fromJson(json, new TypeToken<Map<String, List<Map<String, String>>>>(){}.getType());
		System.out.println("listmap:" + listmap.toString());
		
		List<Map<String, List<Map<String, String>>>> typhoon = new ArrayList<Map<String, List<Map<String, String>>>>();
		typhoon.add(listmap);
		typhoon.add(listmap);
		System.out.println("typhoon's json:" + gson.toJson(typhoon));
		
		json = "{\"history\":[{\"jingdu\":\"127.5\",\"weidu\":\"8.9\",\"wind_speed\":\"18\",\"air_pressure\":\"998\",\"dot_order\":1,\"ty_data\":\"2012-10-24 02:00\"},{\"jingdu\":\"126.6\",\"weidu\":\"9.1\",\"wind_speed\":\"18\",\"air_pressure\":\"998\",\"dot_order\":2,\"ty_data\":\"2012-10-24 08:00\"},{\"jingdu\":\"125.6\",\"weidu\":\"10.8\",\"wind_speed\":\"20\",\"air_pressure\":\"995\",\"dot_order\":3,\"ty_data\":\"2012-10-24 14:00\"},{\"jingdu\":\"124.3\",\"weidu\":\"11.6\",\"wind_speed\":\"20\",\"air_pressure\":\"995\",\"dot_order\":4,\"ty_data\":\"2012-10-24 20:00\"},{\"jingdu\":\"122.6\",\"weidu\":\"12.0\",\"wind_speed\":\"20\",\"air_pressure\":\"995\",\"dot_order\":5,\"ty_data\":\"2012-10-25 02:00\"},{\"jingdu\":\"122.0\",\"weidu\":\"12.1\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":6,\"ty_data\":\"2012-10-25 05:00\"},{\"jingdu\":\"121.2\",\"weidu\":\"12.6\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":7,\"ty_data\":\"2012-10-25 08:00\"},{\"jingdu\":\"120.1\",\"weidu\":\"13.5\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":8,\"ty_data\":\"2012-10-25 11:00\"},{\"jingdu\":\"119.3\",\"weidu\":\"14.1\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":9,\"ty_data\":\"2012-10-25 14:00\"},{\"jingdu\":\"118.6\",\"weidu\":\"14.2\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":10,\"ty_data\":\"2012-10-25 17:00\"},{\"jingdu\":\"118.0\",\"weidu\":\"14.4\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":11,\"ty_data\":\"2012-10-25 20:00\"},{\"jingdu\":\"118.0\",\"weidu\":\"14.4\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":12,\"ty_data\":\"2012-10-25 20:00\"},{\"jingdu\":\"117.5\",\"weidu\":\"14.5\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":13,\"ty_data\":\"2012-10-25 23:00\"},{\"jingdu\":\"117.4\",\"weidu\":\"14.5\",\"wind_speed\":\"23\",\"air_pressure\":\"992\",\"dot_order\":14,\"ty_data\":\"2012-10-26 02:00\"},{\"jingdu\":\"116.6\",\"weidu\":\"14.5\",\"wind_speed\":\"25\",\"air_pressure\":\"988\",\"dot_order\":15,\"ty_data\":\"2012-10-26 05:00\"},{\"jingdu\":\"115.7\",\"weidu\":\"14.6\",\"wind_speed\":\"25\",\"air_pressure\":\"988\",\"dot_order\":16,\"ty_data\":\"2012-10-26 08:00\"},{\"jingdu\":\"115.0\",\"weidu\":\"14.7\",\"wind_speed\":\"28\",\"air_pressure\":\"985\",\"dot_order\":17,\"ty_data\":\"2012-10-26 11:00\"},{\"jingdu\":\"114.4\",\"weidu\":\"14.8\",\"wind_speed\":\"28\",\"air_pressure\":\"985\",\"dot_order\":18,\"ty_data\":\"2012-10-26 14:00\"},{\"jingdu\":\"114.1\",\"weidu\":\"15.1\",\"wind_speed\":\"30\",\"air_pressure\":\"980\",\"dot_order\":19,\"ty_data\":\"2012-10-26 17:00\"},{\"jingdu\":\"113.7\",\"weidu\":\"15.5\",\"wind_speed\":\"30\",\"air_pressure\":\"980\",\"dot_order\":20,\"ty_data\":\"2012-10-26 20:00\"},{\"jingdu\":\"113.1\",\"weidu\":\"15.8\",\"wind_speed\":\"30\",\"air_pressure\":\"980\",\"dot_order\":21,\"ty_data\":\"2012-10-26 23:00\"},{\"jingdu\":\"112.4\",\"weidu\":\"16.0\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":22,\"ty_data\":\"2012-10-27 02:00\"},{\"jingdu\":\"111.7\",\"weidu\":\"16.5\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":23,\"ty_data\":\"2012-10-27 05:00\"},{\"jingdu\":\"110.9\",\"weidu\":\"16.7\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":24,\"ty_data\":\"2012-10-27 08:00\"},{\"jingdu\":\"110.2\",\"weidu\":\"16.8\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":25,\"ty_data\":\"2012-10-27 11:00\"},{\"jingdu\":\"109.8\",\"weidu\":\"16.9\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":26,\"ty_data\":\"2012-10-27 13:00\"},{\"jingdu\":\"109.6\",\"weidu\":\"17.0\",\"wind_speed\":\"35\",\"air_pressure\":\"970\",\"dot_order\":27,\"ty_data\":\"2012-10-27 14:00\"},{\"jingdu\":\"109.3\",\"weidu\":\"17.1\",\"wind_speed\":\"40\",\"air_pressure\":\"962\",\"dot_order\":28,\"ty_data\":\"2012-10-27 17:00\"},{\"jingdu\":\"109.3\",\"weidu\":\"17.1\",\"wind_speed\":\"40\",\"air_pressure\":\"962\",\"dot_order\":29,\"ty_data\":\"2012-10-27 17:00\"},{\"jingdu\":\"108.5\",\"weidu\":\"17.8\",\"wind_speed\":\"45\",\"air_pressure\":\"950\",\"dot_order\":30,\"ty_data\":\"2012-10-27 20:00\"},{\"jingdu\":\"108.5\",\"weidu\":\"17.8\",\"wind_speed\":\"45\",\"air_pressure\":\"950\",\"dot_order\":31,\"ty_data\":\"2012-10-27 23:00\"},{\"jingdu\":\"107.7\",\"weidu\":\"18.3\",\"wind_speed\":\"42\",\"air_pressure\":\"955\",\"dot_order\":32,\"ty_data\":\"2012-10-28 02:00\"},{\"jingdu\":\"107.7\",\"weidu\":\"18.3\",\"wind_speed\":\"42\",\"air_pressure\":\"955\",\"dot_order\":33,\"ty_data\":\"2012-10-28 05:00\"},{\"jingdu\":\"107.4\",\"weidu\":\"18.4\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":34,\"ty_data\":\"2012-10-28 08:00\"},{\"jingdu\":\"107.1\",\"weidu\":\"18.8\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":35,\"ty_data\":\"2012-10-28 11:00\"},{\"jingdu\":\"107.1\",\"weidu\":\"19.3\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":36,\"ty_data\":\"2012-10-28 14:00\"},{\"jingdu\":\"107.0\",\"weidu\":\"19.5\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":37,\"ty_data\":\"2012-10-28 16:00\"},{\"jingdu\":\"106.9\",\"weidu\":\"19.6\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":38,\"ty_data\":\"2012-10-28 17:00\"},{\"jingdu\":\"106.8\",\"weidu\":\"19.9\",\"wind_speed\":\"40\",\"air_pressure\":\"960\",\"dot_order\":39,\"ty_data\":\"2012-10-28 19:00\"},{\"jingdu\":\"106.7\",\"weidu\":\"20.0\",\"wind_speed\":\"38\",\"air_pressure\":\"965\",\"dot_order\":40,\"ty_data\":\"2012-10-28 20:00\"},{\"jingdu\":\"106.7\",\"weidu\":\"20.1\",\"wind_speed\":\"38\",\"air_pressure\":\"965\",\"dot_order\":41,\"ty_data\":\"2012-10-28 21:00\"},{\"jingdu\":\"106.6\",\"weidu\":\"20.1\",\"wind_speed\":\"38\",\"air_pressure\":\"965\",\"dot_order\":42,\"ty_data\":\"2012-10-28 22:00\"},{\"jingdu\":\"106.6\",\"weidu\":\"20.2\",\"wind_speed\":\"35\",\"air_pressure\":\"970\",\"dot_order\":43,\"ty_data\":\"2012-10-28 23:00\"},{\"jingdu\":\"106.6\",\"weidu\":\"20.4\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":44,\"ty_data\":\"2012-10-29 01:00\"},{\"jingdu\":\"106.6\",\"weidu\":\"20.6\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":45,\"ty_data\":\"2012-10-29 02:00\"},{\"jingdu\":\"106.7\",\"weidu\":\"20.8\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":46,\"ty_data\":\"2012-10-29 03:00\"},{\"jingdu\":\"106.9\",\"weidu\":\"20.9\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":47,\"ty_data\":\"2012-10-29 04:00\"},{\"jingdu\":\"107.0\",\"weidu\":\"21.0\",\"wind_speed\":\"33\",\"air_pressure\":\"975\",\"dot_order\":48,\"ty_data\":\"2012-10-29 05:00\"},{\"jingdu\":\"107.4\",\"weidu\":\"21.1\",\"wind_speed\":\"25\",\"air_pressure\":\"985\",\"dot_order\":49,\"ty_data\":\"2012-10-29 07:00\"},{\"jingdu\":\"107.6\",\"weidu\":\"21.3\",\"wind_speed\":\"23\",\"air_pressure\":\"990\",\"dot_order\":50,\"ty_data\":\"2012-10-29 08:00\"},{\"jingdu\":\"107.7\",\"weidu\":\"21.5\",\"wind_speed\":\"23\",\"air_pressure\":\"990\",\"dot_order\":51,\"ty_data\":\"2012-10-29 10:00\"},{\"jingdu\":\"107.7\",\"weidu\":\"21.5\",\"wind_speed\":\"23\",\"air_pressure\":\"990\",\"dot_order\":52,\"ty_data\":\"2012-10-29 11:00\"},{\"jingdu\":\"107.7\",\"weidu\":\"21.5\",\"wind_speed\":\"23\",\"air_pressure\":\"990\",\"dot_order\":53,\"ty_data\":\"2012-10-29 11:00\"},{\"jingdu\":\"108.1\",\"weidu\":\"21.7\",\"wind_speed\":\"15\",\"air_pressure\":\"1,004\",\"dot_order\":54,\"ty_data\":\"2012-10-29 17:00\"}],\"forecast\":[{\"order_id\":\"2012102917\",\"jingdu\":\"108.1\",\"weidu\":\"21.7\",\"time_dif\":0,\"wind_speed\":\"15\",\"air_pressure\":\"1,004\",\"radius_30k\":0,\"radius_50k\":0,\"typhoon_id\":\"1223 \",\"fc_station\":\"1\",\"ty_date\":\"2012-10-29 17:00\"}]}";
		
		
		listmap = gson.fromJson(json, new TypeToken<Map<String, List<Map<String, String>>>>(){}.getType());
		System.out.println("typhoon:" + listmap);
		
		
	}
	
	/*
	 * primitive type serialization
	 */
	public static void PrimitivesSerialization(){
		Gson gson = new Gson();
		// int
		String result = gson.toJson(1);
		System.out.println(result);
		
		//string
		System.out.println(gson.toJson("abcd"));
		
		int [] values = {1};
		System.out.println(gson.toJson(values));
		
				
	}
	
	/*
	 * primitive type deserialization
	 */
	public static void PrimitivesDeserialization(){
		Gson gson = new Gson();
		// int
		int one = gson.fromJson("1", int.class);
		System.out.println(one);
		
		Integer integerOne = gson.fromJson("1", Integer.class);
		System.out.println(integerOne);
		
		Long lng = gson.fromJson("1", Long.class);
		System.out.println(lng);
		
		String str = gson.fromJson("\"abc\"", String.class);
		System.out.println(str);
				
	}

}

package com.wangqsh.gson;public class BagOfPrimitives {private int value = 1;private String value2 = "abc";private transient int value3 = 3;BagOfPrimitives(){//do nothing}public String toString(){return "value:1\nvalue:2\nvalue3:abc";}}


下面是主程序


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值