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();
}
}
}