依賴的jar包,jackson-all-1.7.6.jar,xstream-1.4.4.jar
下載地址:
鏈接:https://pan.baidu.com/s/1LflD135qlQiIPGXw5XwDmw
提取碼:6v29
復制這段內容后打開百度網盤手機App,操作更方便哦
package json_xml;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
import java.io.IOException;
import java.io.StringWriter;
import java.util.Date;
public class Test {
public static void main(String[] args) throws IOException {
Person person = new Person();
person.setAdderess("hangzhou,China");
person.setAge(18);
person.setBirth(new Date());
person.setName("zhangsan");
//Json對象序列化
String personJson =null;
ObjectMapper mapper = new ObjectMapper();
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
mapper.writeValue(gen,person);
gen.close();
personJson = sw.toString();
System.out.println(personJson);
/**
* {"name":"zhangsan","adderess":"hangzhou,China","age":18,"birth":1566030108817}
*/
//Json對象反序列化
Person zhangsan = mapper.readValue(personJson,Person.class);
System.out.println(zhangsan.toString());
/**
* Person{adderess='hangzhou,China', age=18, birth=Sat Aug 17 16:21:48 CST 2019, name='zhangsan'}
*/
//將Java對象序列化為XML格式
XStream xStream = new XStream(new DomDriver());
//設置person類的別名
xStream.alias("person",Person.class);
String personXML = xStream.toXML(person);
System.out.println(personXML);
/**
*
* hangzhou,China
* 18
* 2019-08-17 08:21:48.817 UTC
* zhangsan
*
*/
//將XML反序列化還原為person對象
Person zhangsan2 =(Person) xStream.fromXML(personXML);
System.out.println(zhangsan2);
/**
* Person{adderess='hangzhou,China', age=18, birth=Sat Aug 17 16:21:48 CST 2019, name='zhangsan'}
*/
}
}