美文网首页
2019-08-17java对象与json,xml互转

2019-08-17java对象与json,xml互转

作者: yeying12321 | 来源:发表于2019-08-17 16:27 被阅读0次

    依赖的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);
            /**
             * <person>
             *   <adderess>hangzhou,China</adderess>
             *   <age>18</age>
             *   <birth>2019-08-17 08:21:48.817 UTC</birth>
             *   <name>zhangsan</name>
             * </person>
             */
    
    
            //将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'}
             */
        }
    }
    
    

    相关文章

      网友评论

          本文标题:2019-08-17java对象与json,xml互转

          本文链接:https://www.haomeiwen.com/subject/hglksctx.html