Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class User{
- public String name;
- public String password;
- }
- { sc:"200", msg:"something", userInfo:{name:"n", password:"p"} }
- Map->contains 3 key-value
- "sc"="200"
- "msg"="something"
- "userInfo"=User(Object Class)
- Map<String,Object> map = new ObjectMapper().readValue(json, Map.class);
- public class Request {
- public int sc;
- public String message;
- public User userInfo;
- // and/or getters, setters, if you prefer
- }
- Request req = new ObjectMapper().readValue(json, Request.class);
- import java.util.HashMap;
- import java.util.Map;
- import org.codehaus.jackson.annotate.JsonAnySetter;
- import org.codehaus.jackson.annotate.JsonAutoDetect.Visibility;
- import org.codehaus.jackson.annotate.JsonMethod;
- import org.codehaus.jackson.map.ObjectMapper;
- public class JacksonFoo
- {
- public static void main(String[] args) throws Exception
- {
- // {"sc":"200","msg":"something","userInfo":{"name":"n","password":"p"}}
- String jsonInput = "{"sc":"200","msg":"something","userInfo":{"name":"n","password":"p"}}";
- ObjectMapper mapper = new ObjectMapper().setVisibility(JsonMethod.FIELD, Visibility.ANY);
- Result result = mapper.readValue(jsonInput, Result.class);
- System.out.println(result);
- // output:
- // Result: userInfo=User: name=n, password=p, otherThings={sc=200, msg=something}
- }
- }
- class Result
- {
- Map otherThings = new HashMap();
- User userInfo;
- @JsonAnySetter
- void addThing(String key, Object value)
- {
- otherThings.put(key, value);
- }
- @Override
- public String toString()
- {
- return String.format("Result: userInfo=%s, otherThings=%s", userInfo, otherThings);
- }
- }
- class User
- {
- String name;
- String password;
- @Override
- public String toString()
- {
- return String.format("User: name=%s, password=%s", name, password);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement