一、XML
1. XML 的定义、作用、规范及语法
<?xml version="1.0" encoding="utf-8" ?>
<books>
<book isbn="123123123123">
<name>平凡的世界</name>
<author>路遥</author>
<price>160</price>
</book>
</books>
2. XML 解析技术
@Test
public void dom4JTest() throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("books.xml");
System.out.println(document);
Element rootElement = document.getRootElement();
List<Element> books = rootElement.elements("book");
for (Element book : books) {
String isbn = book.attributeValue("isbn");
Element nameElement = book.element("name");
String nameText = nameElement.getText();
String authorText = book.elementText("author");
double price = Double.parseDouble(book.elementText("price"));
Book book1 = new Book(isbn, nameText, authorText, price);
System.out.println(book1);
}
}
二、JSON
1. JSON 的定义和访问
var jsonObj = {
"key1": 12,
"key2": "abc",
"key3": true,
"key4": [11, "array", false],
"key5": {
"key5_1": 324,
"key5_2": "key5_2_value"
}
}
2. JSON 在 JavaScript 中的两种常用转换方法
3. JavaBean 和 JSON 的相互转换
Gson gson = new Gson();
String jsonString = gson.toJson(new Person("Bear", 22));
System.out.println(jsonString);
Person person = gson.fromJson(jsonString, Person.class);
System.out.println(person);
4. List 集合与 JSON 的相互转换
List<Person> peopleList = new ArrayList<>();
peopleList.add(new Person("bear", 22));
peopleList.add(new Person("spring", 11));
Gson gson = new Gson();
String peopleJsonString = gson.toJson(peopleList);
System.out.println(peopleJsonString);
List<Person> people = gson.fromJson(peopleJsonString, new PersonListType().getType());
System.out.println(people);
public class PersonListType extends com.google.gson.reflect.TypeToken<List<Person>> {
}
5. Map 集合和 JSON 的相互转换
Map<Integer, Person> personMap = new HashMap<>();
personMap.put(1, new Person("1", 1));
personMap.put(2, new Person("2", 2));
Gson gson = new Gson();
String personJsonString = gson.toJson(personMap);
System.out.println(personJsonString);
Map<Integer, Person> map = gson.fromJson(personJsonString, new TypeToken<Map<Integer, Person>>() {
}.getType());
System.out.println(map);