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操作和表单校验插件

Xitrum学习笔记08 - JavaScript and JSON

学习笔记:javaweb 测试代码

JavaWeb学习笔记之Log4j使用教程

学习笔记:python3,代码片段(2017)

JavaWeb学习笔记六 JSP