xml json
2021-02-06 17:15
标签:嵌套 table doc ack switch 固定 stream 图片 des DOM是Document Object Model的缩写,DOM模型就是把XML结构作为一个树形结构处理,从根节点开始,每个节点都可以包含任意个子节点。 解析后的dom如下 1,获取dom对象 2,遍历dom对象获得节点的属性和值,内容 使用Jackson可以轻松把解析到的xml封装到javabean中 一个典型的json JSON只允许使用UTF-8编码,不存在编码问题; 键值对:{"key": value} 核心代码是创建一个ObjectMapper对象。关闭DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES功能使得解析时如果JavaBean不存在该属性时解析不会报错。 xml json 标签:嵌套 table doc ack switch 固定 stream 图片 des 原文地址:https://www.cnblogs.com/hellosiyu/p/13111771.html1 xml特征
2 常见的转义
字符
符号
>
>
&
&
"
"
‘
‘
3 使用DOM
这是一段xml4 使用dom api来解析xml
InputStream input = Main.class.getResourceAsStream("/book.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(input);
void printNode(Node n, int indent) {
for (int i = 0; i
5 使用Jackson
,下面是一个代码InputStream input = Main.class.getResourceAsStream("/book.xml");
JacksonXmlModule module = new JacksonXmlModule();
XmlMapper mapper = new XmlMapper(module);
Book book = mapper.readValue(input, Book.class);
System.out.println(book.id);
System.out.println(book.name);
System.out.println(book.author);
System.out.println(book.isbn);
System.out.println(book.tags);
System.out.println(book.pubDate);
6 JSON
{
"id": 1,
"name": "Java核心技术",
"author": {
"firstName": "Abc",
"lastName": "Xyz"
},
"isbn": "1234567",
"tags": ["Java", "Network"]
}
6-1 json优势
JSON只允许使用双引号作为key,特殊字符用\转义,格式简单;
浏览器内置JSON支持,如果把数据用JSON发送给浏览器,可以用JavaScript直接处理。6-2 json支持的格式
数组:[1, 2, 3]
字符串:"abc"
数值(整数和浮点数):12.34
布尔值:true或false
空值:null6-3 序列化:Javabean转Json
InputStream input = Main.class.getResourceAsStream("/book.json");
ObjectMapper mapper = new ObjectMapper();
// 反序列化时忽略不存在的JavaBean属性:
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
Book book = mapper.readValue(input, Book.class);
6-4 反序列化:json转javabean
String json = mapper.writeValueAsString(book);