XML与JSON

XML介绍

可扩展语言(Extensible Markup Language)
特性:

  1. xml具有平台无关性,是一门独立的标记语言。
  2. xml具有自我描述性。

具体可以应用于:数据的传输、数据储存、配置文件。

解析XML

java中解析XML有几种方式?
四种,
1.SAX解析: SAX解析器逐行读取XML文件解析,每当解析道一个标签开始/结束/内容/属性时,触发时间。我们可以编写程序在这些时间触发时,进行相应的处理。
优点: 1.分析可以立即开始,而不是等待所有数据被处理。2.逐行加载,节省内存,有助于分析大于系统内存的文档。3.有时不必解析全部文档,当满足某个条件的时候停止解析。
2.DOM解析: 是用与平台和语言无关的方式表示XML文档的官方w3c标准,分析该结构通常需要加载整个文档在内存中建立文档的树模型。程序员可通过操作文档树,来完成数据的获取,修改,删除。
优点: 1.文档在内存中加载,允许对数据和结构做出更改。2.访问是双向的,可以在任何时候在树中双向解析数据。
缺点: 文档全部加在内存中,消耗资源大。
3. JDOM解析: Java特定文档的解析模型,简化了与XML的交互,并且比使用DOM实现更快。
优点: 1.使用了具体类,而不是接口,简化了DOM的AIPI。2.大量的使用了java类集合,方便了Java开发人员。
缺点: 1.没有较好的灵活性。2.性能不是那么的优异。
4.DOM4J解析: JDOM的一种只能分支,它合并了许多超出基本XML文档表示的功能,包括集成的XPath 支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。它还提供了构建文档表示的选项, DOM4J是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一 个开放源代码的软件。如今你可以看到越来越多的Java软件都在使用DOM4J来读写XML。
目前许多开源项目中大量采用DOM4J , 例如:Hibernate

JSON

JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.

一个对象, 由一个大括号表示.
括号中 描述对象的属性。通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对。)
格式:
键与值之间使用冒号连接, 多个键值对之间使用逗号分隔。
键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解析。)
键值对的值, 可以是JS中的任意类型的数据
数组格式: 在JSON格式中可以与对象互相嵌套
[元素1,元素2…]

Gson

将对象转化为JSON字符串:
步骤:

  1. 引入Jar包
  2. 在需要转换JSON字符串的位置编写如下代码:String json = new Gson().toJson(要转换的对象);

将JSON字符串转化为对象:
步骤:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码:对象 = new Gson().fromJson(JSON字符串,对象类型);

FastJson

将对象转化为JSON字符串:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:String s = JSON.toJsonString(要转换的对象)

将JSON字符串转换为对象:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码:
    类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 或 List<类型> list=JSON.parseArray(JSON字符串,类型.class);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值