JavaWeb学习笔记-17 Json
Posted Moon&&Dragon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb学习笔记-17 Json相关的知识,希望对你有一定的参考价值。
Json
文章目录
1、概念
是一种数据的交换格式,也是一种数据的交换标准,主要用于浏览器和服务器之间的数据交互
格式:{“属性名称”:属性值}
比如我们希望把一个java对象传递给浏览器的js对象
// java
class Person{
String name;
int age;
}
// json
{"name":"张三","age":22}
对于嵌套的类的数据传输也是相当方便
// java
class Address{
String city;
String address
}
class Person{
String name;
int age;
Address address;
}
// json
{"name":"张三","age":22,"address":{"城市":"武汉市","街道":"友谊大道"}}
2、FastJson
Fastjson:是由阿里巴巴工程师基于java写的解析json的
maven:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
基本使用:
public class CityTest {
public static void main(String[] args) {
City c = new City("武汉","wh");
// 将java对象转为json对象----->字符串
String cityJson = JSON.toJSONString(c);
System.out.println(cityJson);
// 将java数组转为JSON
City c2 = new City("上海","sh");
City[] cities = {c,c2};
String cityJson2 = JSON.toJSONString(cities);
System.out.println(cityJson2);
// 将java集合类型转化为JSON
List<City> list = new ArrayList<>();
list.add(c);
list.add(c2);
String s = JSON.toJSONString(list);
System.out.println(s);
// 反过来,将json转为java对象
City c3 = JSON.parseObject("{\\"cityValue\\":\\"wh\\",\\"name\\":\\"武汉\\"}",City.class);
System.out.println(c3);
// 注意集合的解析
List<City> list1 = JSON.parseObject("[{\\"cityValue\\":\\"wh\\",\\"name\\":\\"武汉\\"},{\\"cityValue\\":\\"sh\\",\\"name\\":\\"上海\\"}]"
,new TypeReference<ArrayList<City>>(){});
System.out.println(list1);
}
}
以上是关于JavaWeb学习笔记-17 Json的主要内容,如果未能解决你的问题,请参考以下文章
JAVAWEB学习笔记28_jqueryAjax:json数据结构jquery的ajax操作和表单校验插件