Internet的迅猛发展与普及为基于计算机网络的分布式计算带来了无线活力,越来越多的创新型应用建立在网络通信的基础上。
Java语言之所以能在短时间内迅速崛起,在很大程度上得益于其设计顺应了网络计算机的潮流。与使用其他程序设计语言或函数库相比,在Java程序中实现网络通信显得更加轻松。
为了能够方便开发网络应用程序,Unix系统推出了一种应用程序访问通信协议的操作系统调用——Socket套接字,使得程序员很方便的访问TCP/IP协议,从而开发各种各种网络应用程序。后来Windows也引入套接字,Java语言也引入了套接字的变成模型。
Socket套接字是一种抽象层,应用程序通过他来发送和接收数据。一个Socket允许应用程序添加到网络中,并与处于同一个网络中的其他应用程序进行通信。不同类型的Socket与不同类型的底层协议族以及同一协议住中的不同协议栈相关联。现在TCP/IP协议中的主要Socket类型为流套接字和数据报套接字。
Java为了实现客户端与服务器之间的数据的转换,要将数据转换为JSON格式字符串,再将JSON格式字符串转换回来。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
Java实现JSON格式与其他格式转换的具体实现工具有很多,目前最有效率的是JackSon,Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。