JAVA解析JSON格式(Gson和FastJSON)
JSON(JavaScript Object Notation)是一种通过字符串传输数据的格式,相比于XML其更加小巧灵活,在传输数据特别是当数据量较大时有更好的性能。
JSON格式简单,基本元素为键值对,键与值之间通过“:”隔开,不同的键值对之间通过“,”隔开。键用引号“"”包住,值可以是数字、字符串、数组、对象、true、false、null。“[]”中是数组“{}”中是对象,数组和对象可以嵌套。下面是一个简单的JSON样例:
{
"name": "Awesome 4K",
"resolutions": [
{
"width": 1280,
"height": 720
},
{
"width": 1920,
"height": 1080
},
{
"width": 3840,
"height": 2160
}
]
}
这样一段JSON格式的数据是字符串形式的,要将这样的数据读入内存或者转换成对象需要借助一些工具,Gson和FastJson就是两个用于解析Json的常用java包,在GitHub上都能下载到最新的版本。
GSON解析
static void GsonTest(String json) {
Gson gson = new Gson();
Map map = gson.fromJson(json, HashMap.class);
Set<String> key = map.keySet();
for (String i :
key) {
Object o = map.get(i);
System.out.println(o.getClass());
System.out.println(o);
}
}
解析后的输出结果:
FastJson解析
static void FastJsonTest(String json) {
Map map = JSON.parseObject(json, HashMap.class);
Set<String> key = map.keySet();
for (String i :
key) {
Object o = map.get(i);
System.out.println(o.getClass());
System.out.println(o);
}
}
通过FastJson解析后的结果: