zoukankan      html  css  js  c++  java
  • 用 Jackson 来处理 JSON

    Jackson 是一个 Java 用来处理 JSON 格式数据的类库,性能非常好。

    首先创建一个User对象类 (User.java)

    package com.sivalabs.json;

    import java.util.Date;

    public class User {

    private String userId;

    private UserName userName;

    private Date dob;

    @Override

    public String toString(){

    return "User [dob=" + dob + ", userId=" + userId + ", userName="+ userName + "]";
    }

    //setters and getters

    }

    UserName.java

    package com.sivalabs.json;

    public class UserName {

    private String firstname;

    private String middlename;

    private String lastname;

    @Override

    public String toString()

    {

    return "UserName [firstname=" + firstname +

    ", lastname=" + lastname+

    ", middlename=" + middlename + "]";

    }

    //setters and getters

    }

    [Java]代码

    //接下来创建User实例,并生成JSON数据
    

    ObjectMapper mapper = new ObjectMapper();

    UserName userName = new UserName();

    userName
    .setFirstname("Katamreddy");

    userName
    .setMiddlename("Siva");

    userName
    .setLastname("PrasadReddy");

    User user = new User();

    user
    .setUserId("1");

    user
    .setUserName(userName);

    user
    .setDob(new Date());

    Writer strWriter = new StringWriter();

    mapper
    .writeValue(strWriter, user);

    String userDataJSON = strWriter.toString();

    System.out.println(userDataJSON);

    执行结果

    {
    "userId":"1",
    "userName":
    {
    "firstname":"Katamreddy",
    "middlename":"Siva",
    "lastname":"PrasadReddy"
    },
    "dob":1300878089906
    }

    接下来进行JSON到Java对象的转换

    String userDataJSON = 
    "{"userId":"100","userName":{"firstname":"K""+
    ","middlename":"Siva","lastname":"Prasad"},"dob":1300878089906}";
    User userFromJSON = mapper.readValue(userDataJSON, User.class);
    System.out.println(userFromJSON);

    时间的格式化处理

    DateFormat dateFormat = new SimpleDateFormat("MM-dd-yyyy");
    SerializationConfig serConfig = mapper.getSerializationConfig();
    serConfig
    .setDateFormat(dateFormat);
    DeserializationConfig deserializationConfig = mapper.getDeserializationConfig();
    deserializationConfig
    .setDateFormat(dateFormat);
    mapper
    .configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);

    [Java]代码

    //从文件中读取JSON数据
    User user = mapper.readValue(new File("user.json"), User.class);
        </div>
  • 相关阅读:
    NOIp2018集训test-9-4
    「THUSC 2016」成绩单 & 方块消除 (区间dp)
    NOIp2018集训test-9-2(pm)
    NOIp2018集训test-9-2(am)
    NOIp2018集训test-9-1(pm)
    NOIp2018集训test-9-1(am)
    暑假集训test-8-31(pm)
    暑假集训test-8-31(am)
    暑假集训test-8-30
    day22 笔记
  • 原文地址:https://www.cnblogs.com/jpfss/p/9055737.html
Copyright © 2011-2022 走看看