蚂蚁学堂(1): 5-数据交换格式和java反射机制

一、什么是数据交换格式

客户端与服务器常用数据交换格式xml、json、html

二、数据交换格式用场景

移动端(安卓、IOS)通讯方式采用http协议+JSON格式 走restful风格。

很多互联网项目都采用Http协议+JSON。

因为xml比较重,一般在WebService服务采用http+xml格式,银行项目使用比较多。

三、什么是JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,相比于xml这种数据交换格式来说,因为解析xml比较的复杂,而且需要编写大段的代码,所以客户端和服务器的数据交换格式往往通过JSON来进行交换。

JSONJavaScript 对象表示法(JavaScript Object Notation)。

JSON的形式是用大括号“{}”包围起来的项目列表,每一个项目间用逗号(,)分隔,而项目就是用冒号(:)分隔的属性名和属性值。这是典型的字典表示形式,也再次表明javascript里的对象就是字典结构。不管多么复杂的对象,都可以用一句JSON代码来创建并赋值。在JSON中,名称 / 值对包括字段名称(在双引号中),后面写一个冒号,然后是值。

json简单说就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构:

1、对象:对象在js中表示为“{}”括起来的内容,数据结构为 {keyvalue,keyvalue,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值

2、数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取.

四、常用JSON解析框架

fastjson(阿里)、gson(谷歌)、jackson(SpringMVC自带)

public class JsonTest {
    static String jsonStr = "{\"sites\":[" +
            "{\"name\":\"蚂蚁课堂\",\"url\":\"www.itmayiedu.com\"}," +
            "{\"name\":\"每特教育\",\"url\":\"http://meiteedu.com/\"}" +
            "]" +
            "}";

    public static void main(String[] args) {
        JSONObject jsonObject = new JSONObject();
        // 将json字符串转为jsonbject
        JSONObject jsonStrObject = jsonObject.parseObject(jsonStr);
        System.out.println(jsonStrObject);
        System.out.println(jsonStrObject.get("sites"));
        JSONArray jsonArray = jsonStrObject.getJSONArray("sites");
        for (Object object : jsonArray) {
            JSONObject stObject = (JSONObject) object;
            String name = stObject.getString("name");
            String url = stObject.getString("url");
            System.out.println(name + "---" + url);
        }

    }
}

{"sites":[{"name":"蚂蚁课堂","url":"www.itmayiedu.com"},{"name":"每特教育","url":"http://meiteedu.com/"}]}
[{"name":"蚂蚁课堂","url":"www.itmayiedu.com"},{"name":"每特教育","url":"http://meiteedu.com/"}]
蚂蚁课堂---www.itmayiedu.com
每特教育---http://meiteedu.com/

五、XML

1、什么是XML?

它是可扩展标记语言(Extensible Markup Language,简称XML),是一种标记语言。主要用于描述数据和用作配置文件。

2、XML解析方式?

Dom4j、Sax、Pull

3、Dom4j与Sax区别

 dom4j不适合大文件的解析,因为它是一下子将文件加载到内存中,所以有可能出现内存溢出,sax是基于事件来对xml进行解析的,所以他可以解析大文件的xml,也正是因为如此,所以dom4j可以对xml进行灵活的增删改查和导航,而sax没有这么强的灵活性,所以sax经常是用来解析大型xml文件,而要对xml文件进行一些灵活(crud)操作就用dom4j。

4、XML与JSON区别

Xml是重量级数据交换格式,占宽带比较大。

JSON是轻量级交换格式,xml占宽带小, 传输效率相对比较高。

所有很多互联网公司都会使用json作为数据交换格式

很多银行项目,大多数还是在使用xml。

五、Java反射机制

5.1 什么是Java反射

就是正在运行,动态获取这个类的所有信息。

5.2 反射机制的作用

1、通过反射创造类或对象

2.通过反射机制访问java对象的属性,方法,构造方法等;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值