json

json是java Script Object Natotion

它是前后台传输数据的一种格式  

json的传输格式有三个  

1 json 单个数据

2 json  数组或list集合    

3 array  数组   arrayList(数组集合)

list  和数组的区别  
list 里面是指定对象  规定了传输数据的类型\
将数组转换List后,不能对List增删,只能查改,否则抛异常 

UnsupportedOperationException 
  不支持的操作异常
list转数组  支持增删改查

list是接口 ListArray 是lsit的实现类  


json 对象  (K,V)  kv键值对

List

List是接口,List特性就是有序,会确保以一定的顺序保存元素。在对List的使用中,List不能被构造,只能像下面那样使用

List list=new ArrayList();

 

这样使用的话,List中没有而ArrayList中有的方法将不能被list对象使用。这种用法属于Java的多态特性。当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的该同名方法。 
List接口继承自Collection接口

public interface List<E> extends Collection<E>

(1)List:ArrayList是动态数组;LinkedList是一个双向链表,Stack是一个对象栈,遵循先进后出的原则。 
(2)Set不包含重复元素。hashset原理和hashmap类似;treeset是一个自动排序的set,实现了SortedSet接口。 
(3)Map:TreeMap可以根据Key值进行自动排序。 
(4)Quene:阻塞式队列(ArrayBlockingQuene)和非阻塞式队列(PriorityQuene,内存允许,可以追加元素)。

List是一个接口,而ListArray是一个类。 
ListArray继承并实现了List。 
所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。 
List list; //正确 list=null; 
List list=new List(); // 是错误的用法.

数组和集合的比较

       数组不是面向对象的,存在明显的缺陷,集合弥补了数组的缺点,比数组更灵活更实用,而且不同的集合框架类可适用不同场合。如下:

· 1:数组存放基本数据类型和对象,而集合类存放的都是对象的引用,而非对象本身!
· 2:数组长度固定无法动态改变,集合类容量动态改变。 
· 3:数组无法判断其中实际存有多少元素,length只告诉了数组的容量,定义了多大的长度后,即使没有存放那么多的元素,没有存放的元素的空间就浪费了,而集合的size()可以确切知道元素的个数 
· 4:数组仅采用顺序表方式, 集合有多种实现方式和不同适用场合。
· 5:集合以类的形式存在,具有封装、继承、多态等类的特性,通过简单的方法和属性即可实现各种复杂操作,大大提高了软件的开发效率

 

#json格式的数据:(属性名称和字符串值必须使用双引号)

{ "name":"tom", "age":18 }

#json数据格式数组

["tom",18,"programmer"]

[{"name":"logo.png","url":"contract/27234_20180725.png"},{"name":"管理.png","url":"contract/45514_20180725.png"}]

json格式例子: 

             

 

 例子:

 

引用了工具类 XXX.class文件  里面封装了json转数组,数组转json方法

 

实际例子

字段              字段名        字段类型

attachUrls    附件地址     String

业务要求: 

图片的地址可能是多个  把多个地址以json数组的形式存到attachUrls里面  ,attachUrls是String 类型的数据,所以需要进行序列化,把json数据存放到到数据库中, 

客户端调数据时再进行反序列化,转成数组提供给客户端使用

把String类型的json数组序列化出来 

   

 

名字+Pojo 的目的

Pojo    Plain Old Java Objects

1、POJO(Plain Old Java Objects)是MartinFowler等发明的一个术语,用来表示普通的Java对象简单的Java对象,是为了避免和EJB混淆所创造的简称。

2、POJO 简单理解为不包含业务逻辑的单纯用来存储数据的 java类即可。一般POJO没有实现任何接口,没有集成任何父类(java.lang.Object除外)。

3、普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。

POJO的意义就在于它的简单而灵活性,因为它的简单和灵活,使得POJO能够任意扩展,从而胜任多个场合,也就让一个模型贯穿多个层成为现实。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值