ObjectMapper mapper = new ObjectMapper(); JsonNode rootNode = mapper.readTree(your_json_input); JsnoNode resourcesNode = rootNode.path("resources"); for (JsonNode resourceNode : resourcesNode ) { if (resourceNode.isObject()) { // the node is an object, you could do POJO mapping now or keep using path() method to go deeper } else { // simply get the String value String list = resourceNode.getTextValue(); } }
String uname=""; String pass=""; BufferedReader reader = request.getReader(); StringBuilder myinputholder = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { myinputholder.append(line); } Integer s= myinputholder.length(); String ss= myinputholder.toString(); String sss= ss.substring(1, s-1); // this is to avoid the beginning and end "{}" sss=sss.replace("\\", ""); \\ this line is to replace all \ with space ObjectMapper mapper = new ObjectMapper(); JsonFactory factory = mapper.getJsonFactory(); JsonParser jp = factory.createJsonParser(sss); JsonNode actualObj = mapper.readTree(jp); JsonNode subnode= actualObj.path("username"); JsonNode subnode2= actualObj.path("password"); uname= subnode.getTextValue(); pass=actualObj.get("password").getTextValue();
private void bindJSONToObject(Object obj, String json) throws IOException, JsonProcessingException { MutablePropertyValues mpv = new MutablePropertyValues(); JsonNode rootNode = new ObjectMapper().readTree(json); for (Iterator<Entry<String, JsonNode>> iter = rootNode.getFields(); iter.hasNext(); ) { Entry<String, JsonNode> entry = iter.next(); String name = entry.getKey(); JsonNode node = entry.getValue(); if (node.isArray()) { List<String> values = new ArrayList<String>(); for (JsonNode elem : node) { values.add(elem.getTextValue()); } mpv.addPropertyValue(name, values); if (logger.isDebugEnabled()) { logger.debug(name + "=" + ArrayUtils.toString(values)); } } else { mpv.addPropertyValue(name, node.getTextValue()); if (logger.isDebugEnabled()) { logger.debug(name + "=" + node.getTextValue()); } } } DataBinder dataBinder = new DataBinder(obj); dataBinder.bind(mpv); }
String fixedValue = fixer.fix(node.getTextValue()); return new TextNode(fixedValue);