1.json转对象
String str="{\"Name\":\"leilei\",\"age\":23}"; ObjectMapper objectMapper=new ObjectMapper(); Student st=objectMapper.readValue(str, Student.class); System.out.println(st.getAge());
public class Student { public String name; public String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
JSONObject a = new JSONObject(jsonstr); JSONArray array = a.getJSONArray("StoreList");
2.对象转JSON字符串
String s = objectMapper.writeValueAsString(obj);
写的公用方法
import org.codehaus.jackson.map.ObjectMapper; import org.json.JSONArray; import org.json.JSONObject; ** * @Title: getBeanFromJSON * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param sb 设定文件 * @return void 返回类型 * @throws */ public static <T> T getBeanFromJSON(String json,Class<T> clazz,String key) { try { ObjectMapper objectMapper = new ObjectMapper(); Object object =getObjectFromJSON(json, key); T t=objectMapper.readValue(object.toString(), clazz); return t; } catch (Exception e) { logger.error("从JSON中读取Bean报错:"+e.getMessage()); e.printStackTrace(); } return null; } /** * @Title: getObjectFromJSON * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param sb 设定文件 * @return void 返回类型 * @throws */ public static Object getObjectFromJSON(String json,String key) { try { JSONObject a = new JSONObject(json); Object object = a.get(key); return object; } catch (Exception e) { logger.error("从JSON中读取取对象报错:"+e.getMessage()); e.printStackTrace(); } return null; } /** * @Title: getBeanFromJSON * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param sb 设定文件 * @return void 返回类型 * @throws */ public static <T> List<T> getBeansFromJSON(String json,Class<T> clazz,String key) { try { ObjectMapper objectMapper = new ObjectMapper(); JSONObject a = new JSONObject(json); JSONArray array = a.getJSONArray(key); List<T> list = new ArrayList<T>(); for (int i = 0; i < array.length(); i++) { objectMapper=new ObjectMapper(); T t = objectMapper.readValue(array.get(i).toString(), clazz); if(t !=null){ list.add(t); } } return list; } catch (Exception e) { logger.error("从JSON中读取BeanList报错:"+e.getMessage()); e.printStackTrace(); } return null; }
import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper;
public static <T> List<T> getBeansFromJson(String json, Class<T> clazz) throws JsonParseException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); JavaType javaType = mapper.getTypeFactory().constructParametricType(List.class, clazz); List<T> lst = (List<T>) mapper.readValue(json, javaType); return lst; } public static <T> T getBeanFromJson(String json, Class<T> clazz) throws JsonParseException, JsonMappingException, IOException { ObjectMapper mapper = new ObjectMapper(); T t = mapper.readValue(json, clazz); return t; } public static String getJosnByKey(String json, String key) throws JsonProcessingException, IOException { ObjectMapper mapper = new ObjectMapper(); JsonNode root = mapper.readTree(json); JsonNode fields = root.get(key); return fields.toString(); }
import java.util.HashMap; import java.util.Map; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; public class JsonMapExample { public static void main(String[] args) { String json = "{\"name\":\"mkyong\", \"age\":\"29\"}"; Map<String,String> map = new HashMap<String,String>(); ObjectMapper mapper = new ObjectMapper(); try { //convert JSON string to Map map = mapper.readValue(json, new TypeReference<HashMap<String,String>>(){}); System.out.println(map); } catch (Exception e) { e.printStackTrace(); } } } import org.codehaus.jackson.map.ObjectMapper; public class MapJsonExample { public static void main(String[] args) { try { ObjectMapper mapper = new ObjectMapper(); String json = ""; Map<String, String> map = new HashMap<String, String>(); map.put("name", "mkyong"); map.put("age", "29"); //convert map to JSON string json = mapper.writeValueAsString(map); System.out.println(json); } catch (Exception e) { e.printStackTrace(); } } } import org.codehaus.jackson.map.ObjectMapper; public class JsonMapFileExample { public static void main(String[] args) { ObjectMapper mapper = new ObjectMapper(); Map<String, Object> map = new HashMap<String, Object>(); map.put("name", "mkyong"); map.put("age", 29); List<Object> list = new ArrayList<Object>(); list.add("msg 1"); list.add("msg 2"); list.add("msg 3"); map.put("messages", list); try { // write JSON to a file mapper.writeValue(new File("c:\\user.json"), map); } catch (Exception e) { e.printStackTrace(); } } } { "age":29, "name":"mkyong", "messages":["msg 1","msg 2","msg 3"] } import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.TypeReference; public class JsonFileMapExample { public static void main(String[] args) { try { ObjectMapper mapper = new ObjectMapper(); // read JSON from a file Map<String, Object> map = mapper.readValue( new File("c:\\user.json"), new TypeReference<Map<String, Object>>() { }); System.out.println(map.get("name")); System.out.println(map.get("age")); @SuppressWarnings("unchecked") ArrayList<String> list = (ArrayList<String>) map.get("messages"); for (String msg : list) { System.out.println(msg); } } catch (Exception e) { e.printStackTrace(); } } }