是一种简单的数据存储语言、
<?xml version="1.0" encoding="UTF-8">//xml声明
<books id="h1">//根元素
<book>//标签
<author>北大青鸟</author>
<title>java从入门到入土</title>
</book>
</books>
标签必须成对出现
xml中特殊字符串的处理
< | < | 小于 |
---|---|---|
> | > | 大于 |
& | & | 和号 |
' | ' | 单引号 |
" | " | 引号 |
xml注释
<!---->
使用DTD正XML文档
DTD 文档类型定义的缩写
元素的定义规则、元素之间的关系规则、属性的定义规则
使没个xml文件可以携带一个自身格式的描述
不同组织的人可以通过通用DTD来交换数据
使用Schema验证xml文档
改进了DTD的晦涩语法、缺乏数据类型、封闭的内容模型
`特点:
xml与操作系统、变成语言的开发平台无关
作用:数据交互
JSON
JavaScript Object Notation(JavaScript 对象表示法)
JSON 是存储和交换文本信息的语法,类似 XML。
JSON 比 XML 更小、更快,更易解析。
JSON 语法规则
JSON 语法是 JavaScript 对象表示语法的子集。
数据在名称/值对中
数据由逗号分隔
大括号 {} 保存对象
中括号 [] 保存数组,数组可以包含多个对象
`"s`ites": [`
`{ "name":"菜鸟教程" , "url":"www.runoob.com" },`
`{ "name":"google" , "url":"www.google.com" },`
`{ "name":"微博" , "url":"www.weibo.com" }`
]`
与 XML 相同之处
与 XML 不同之处
JSON 值
JSON 值可以是:
数字(整数或浮点数) { "age":30 }
字符串(在双引号中){ "age":“30” }
逻辑值(true 或 false){ "flag":true }
数组(在中括号中)
"sites": [
{ "name":"菜鸟教程" , "url":"www.runoob.com" },
{ "name":"google" , "url":"www.google.com" },
{ "name":"微博" , "url":"www.weibo.com" }
]
对象(在大括号中)
{ "name":"菜鸟教程" , "url":"www.runoob.com" }
null,
{ "runoob":null }
访问
sites[0].name;
修改,sites[0].name="菜鸟教程";
// 把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);
// 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);
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有