前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >XML 可拓展标记语言

XML 可拓展标记语言

作者头像
xiaozhangStu
发布2023-05-04 19:13:48
7140
发布2023-05-04 19:13:48
举报
文章被收录于专栏:xiaozhangStuxiaozhangStu

XML 可拓展标记语言

是一种简单的数据存储语言、

格式

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8">//xml声明
<books id="h1">//根元素
    <book>//标签
        <author>北大青鸟</author>
        <title>java从入门到入土</title>   
    </book>
</books>

标签必须成对出现

xml中特殊字符串的处理

&lt;

<

小于

&gt;

>

大于

&amp;

&

和号

&apos;

'

单引号

&quot;

"

引号

xml注释

<!---->

使用DTD正XML文档

DTD 文档类型定义的缩写

元素的定义规则、元素之间的关系规则、属性的定义规则

使没个xml文件可以携带一个自身格式的描述

不同组织的人可以通过通用DTD来交换数据

使用Schema验证xml文档

改进了DTD的晦涩语法、缺乏数据类型、封闭的内容模型

`特点:

xml与操作系统、变成语言的开发平台无关

作用:数据交互

JSON

JavaScript Object Notation(JavaScript 对象表示法)

JSON 是存储和交换文本信息的语法,类似 XML。

JSON 比 XML 更小、更快,更易解析。

JSON 语法规则

JSON 语法是 JavaScript 对象表示语法的子集。

数据在名称/值对中

数据由逗号分隔

大括号 {} 保存对象

中括号 [] 保存数组,数组可以包含多个对象

代码语言:javascript
复制
`"s`ites": [`
   `{ "name":"菜鸟教程" , "url":"www.runoob.com" },` 
   `{ "name":"google" , "url":"www.google.com" },` 
   `{ "name":"微博" , "url":"www.weibo.com" }`
   ]`

与 XML 相同之处

  • JSON 是纯文本
  • JSON 具有"自我描述性"(人类可读)
  • JSON 具有层级结构(值中存在值)
  • JSON 可通过 JavaScript 进行解析
  • JSON 数据可使用 AJAX 进行传输

与 XML 不同之处

  • 没有结束标签
  • 更短
  • 读写的速度更快
  • 能够使用内建的 JavaScript eval() 方法进行解析
  • 使用数组
  • 不使用保留字‘
  • 最大的不同是XML 需要使用 XML 解析器来解析,JSON 可以使用标准的 JavaScript 函数来解析。

JSON 值

JSON 值可以是:

数字(整数或浮点数) { "age":30 }

字符串(在双引号中){ "age":“30” }

逻辑值(true 或 false){ "flag":true }

数组(在中括号中)

代码语言:javascript
复制
    "sites": [
        { "name":"菜鸟教程" , "url":"www.runoob.com" }, 
        { "name":"google" , "url":"www.google.com" }, 
        { "name":"微博" , "url":"www.weibo.com" }
        ]

对象(在大括号中)

代码语言:javascript
复制
{ "name":"菜鸟教程" , "url":"www.runoob.com" }

null,

代码语言:javascript
复制
{ "runoob":null }

访问

sites[0].name;

修改,sites[0].name="菜鸟教程";

使用fastjson来处理json

代码语言:javascript
复制
// 把JSON文本parse为JSONObject或者JSONArray
public static final Object parse(String text);
// 把JSON文本parse成JSONObject 
public static final JSONObject parseObject(String text); 
 // 把JSON文本parse为JavaBean
public static final <T> T parseObject(String text, Class<T> clazz);
// 把JSON文本parse成JSONArray
public static final JSONArray parseArray(String text); 
//把JSON文本parse成JavaBean集合 
public static final <T> List<T> parseArray(String text, Class<T> clazz); 
// 将JavaBean序列化为JSON文本 
public static final String toJSONString(Object object); 
// 将JavaBean序列化为带格式的JSON文本 
public static final String toJSONString(Object object, boolean prettyFormat); 
//将JavaBean转换为JSONObject或者JSONArray。
public static final Object toJSON(Object javaObject); 
代码语言:javascript
复制
// 1.测试将一个【对象】转换成【json字符串】
String jsonString = JSONObject.toJSONString(new Student("中国",66));
System.out.println("********测试将一个【对象】转换成【json字符串】********");
System.out.println(jsonString);
​
// 2.测试将一个【json字符串】转换成【对象】
Student person1 = JSONObject.parseObject(jsonString, Student.class);
System.out.println("********测试将一个【json字符串】转换成【对象】********");
System.out.println(person1);
​
// 3.测试将【多个对象】转换成【json字符串数组】
String jsonString1 = JSONArray.toJSONString(Arrays.asList(new Student("测试2",19), new Student("测试3", 20)));
System.out.println("********测试将【多个对象】转换成【json字符串数组】********");
System.out.println(jsonString1);
​
// 4.测试将【josn字符串数组】转换成多个对象
List<Student> people = JSONArray.parseArray(jsonString1, Student.class);
System.out.println("********测试将【josn字符串数组】转换成多个对象********");
System.out.println(people);
​
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-02-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • XML 可拓展标记语言
    • 格式
      • 使用fastjson来处理json
      相关产品与服务
      腾讯云服务器利旧
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档