bean:
package json;
import java.util.ArrayList;
public class TestBean {
private String knowlege;
private ArrayList itemlist;
@Override
public String toString() {
return knowlege+itemlist;
}
public ArrayList getItemlist() {
return itemlist;
}
public void setItemlist(ArrayList itemlist) {
this.itemlist = itemlist;
}
public String getKnowlege() {
return knowlege;
}
public void setKnowlege(String knowlege) {
this.knowlege = knowlege;
}
}
完整的一个类:
package json;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
import net.sf.json.util.CycleDetectionStrategy;
import com.alibaba.china.biz.common.util.DateUtil;
/**
*
* @author yongkang.qiyk
*
*/
public class JsonTest2 {
/** *//**
* 从一个JSON 对象字符格式中得到一个java对象
* @param jsonString
* @param pojoCalss
* @return
*/
public static Object getObject4JsonString(String jsonString,Class pojoCalss){
Object pojo;
JSONObject jsonObject = JSONObject.fromObject( jsonString );
pojo = JSONObject.toBean(jsonObject,pojoCalss);
return pojo;
}
/** *//**
* 从json HASH表达式中获取一个map,改map支持嵌套功能
* @param jsonString
* @return
*/
public static Map getMap4Json(String jsonString){
JSONObject jsonObject = JSONObject.fromObject( jsonString );
Iterator keyIter = jsonObject.keys();
String key;
Object value;
Map valueMap = new HashMap();
while( keyIter.hasNext())
{
key = (String)keyIter.next();
value = jsonObject.get(key);
valueMap.put(key, value);
}
return valueMap;
}
/** *//**
* 从json数组中得到相应java数组
* @param jsonString
* @return
*/
public static Object[] getObjectArray4Json(String jsonString){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
return jsonArray.toArray();
}
/** *//**
* 从json对象集合表达式中得到一个java对象列表
* @param jsonString
* @param pojoClass
* @return
*/
public static List getList4Json(String jsonString, Class pojoClass){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
JSONObject jsonObject;
Object pojoValue;
List list = new ArrayList();
for ( int i = 0 ; i<jsonArray.size(); i++){
jsonObject = jsonArray.getJSONObject(i);
pojoValue = JSONObject.toBean(jsonObject,pojoClass);
list.add(pojoValue);
}
return list;
}
/** *//**
* 从json数组中解析出java字符串数组
* @param jsonString
* @return
*/
public static String[] getStringArray4Json(String jsonString){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
String[] stringArray = new String[jsonArray.size()];
for( int i = 0 ; i<jsonArray.size() ; i++ ){
stringArray[i] = jsonArray.getString(i);
}
return stringArray;
}
/** *//**
* 从json数组中解析出javaLong型对象数组
* @param jsonString
* @return
*/
public static Long[] getLongArray4Json(String jsonString){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Long[] longArray = new Long[jsonArray.size()];
for( int i = 0 ; i<jsonArray.size() ; i++ ){
longArray[i] = jsonArray.getLong(i);
}
return longArray;
}
/** *//**
* 从json数组中解析出java Integer型对象数组
* @param jsonString
* @return
*/
public static Integer[] getIntegerArray4Json(String jsonString){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Integer[] integerArray = new Integer[jsonArray.size()];
for( int i = 0 ; i<jsonArray.size() ; i++ ){
integerArray[i] = jsonArray.getInt(i);
}
return integerArray;
}
/** *//**
* 从json数组中解析出java Integer型对象数组
* @param jsonString
* @return
*/
public static Double[] getDoubleArray4Json(String jsonString){
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Double[] doubleArray = new Double[jsonArray.size()];
for( int i = 0 ; i<jsonArray.size() ; i++ ){
doubleArray[i] = jsonArray.getDouble(i);
}
return doubleArray;
}
/** *//**
* 将java对象转换成json字符串
* @param javaObj
* @return
*/
public static String getJsonString4JavaPOJO(Object javaObj){
JSONObject json;
json = JSONObject.fromObject(javaObj);
return json.toString();
}
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("dssdsdd");
list.add("dssdsdd");
list.add("dssdsdd");
HashMap map = new HashMap();
map.put("name","yongkang");
map.put("key","fddf");
TestBean textBean = new TestBean();
textBean.setKnowlege("dssd");
textBean.setItemlist(list);
//将对象转换为json字符串
// JSONObject json=JSONObject.fromObject(textBean);
// System.out.println(json);
System.out.println(getJsonString4JavaPOJO(textBean));
System.out.println("=======================================================");
//将字符串转换为为对象
String jsonString="{'itemlist':['hello1','hello2','hello3','hello4'],'knowlege':'123'}";
// JSONObject json2=JSONObject.fromObject(jsonString);
// TestBean tt=(TestBean) json2.toBean(json2, TestBean.class);
// System.out.println(tt.getItemlist());
System.out.println(getObject4JsonString(jsonString,TestBean.class));
}
}