JSON对象转换成对象,将json字符串的key值统一转成大写或者小写

将json字符串转成javabean,有时字符串的key和javabean的属性存在大小写的区别,在转换的时候,无法将json字符串的key和javabean的属性对应在一起,导致转成的javabean的一下属性值为空,在这里,统一将javabean的属性名称用大写表示(用小写也行)。

以下样例以JSONArray作为举例,json字符串是一个list集合转换成的json字符串,,在list集合中,list中包含有其他list,对于这种结构,需要设置一些属性,才能将包含有集合的json字符串完美转成javabean。

以下为样例代码

json字符串样例

[{
	"name": "哈哈",
	"number": "1234",
	"descriptionItems": [{
		"itemDetail": "1991111",
		"ITEMID": "12011204",
		"ITEMNAME": "卧槽",
		"PARITEMID": ""
	}]
}]

    转换方法


public class OnestyleDetailVO {
	private String NAME;
	private String NUMBER;
	private List DESCRIPTIONITEMS;
	public String getNAME() {
		return NAME;
	}
	public void setNAME(String nAME) {
		NAME = nAME;
	}
	public String getNUMBER() {
		return NUMBER;
	}
	public void setNUMBER(String nUMBER) {
		NUMBER = nUMBER;
	}
	public List getDESCRIPTIONITEMS() {
		return DESCRIPTIONITEMS;
	}
	public void setDESCRIPTIONITEMS(List dESCRIPTIONITEMS) {
		DESCRIPTIONITEMS = dESCRIPTIONITEMS;
	}
}

public class OnestyleDescriptionItems {
	private String ITEMDETAIL;
	private String ITEMID;
	private String ITEMNAME;
	private String PARITEMID;
	public String getITEMDETAIL() {
		return ITEMDETAIL;
	}
	public void setITEMDETAIL(String iTEMDETAIL) {
		ITEMDETAIL = iTEMDETAIL;
	}
	public String getITEMID() {
		return ITEMID;
	}
	public void setITEMID(String iTEMID) {
		ITEMID = iTEMID;
	}
	public String getITEMNAME() {
		return ITEMNAME;
	}
	public void setITEMNAME(String iTEMNAME) {
		ITEMNAME = iTEMNAME;
	}
	public String getPARITEMID() {
		return PARITEMID;
	}
	public void setPARITEMID(String pARITEMID) {
		PARITEMID = pARITEMID;
	}
}
JSONArray jsonObject = JSONArray.fromObject(jsonResult);
Map classMap = new HashMap();  
classMap.put("DESCRIPTIONITEMS", OnestyleDescriptionItems.class);  
JsonConfig jc = new JsonConfig();
jc.setClassMap(classMap);
jc.setRootClass(OnestyleDetailVO.class);
jc.setJavaIdentifierTransformer(new JavaIdentifierTransformer() {
	@Override
	public String transformToJavaIdentifier(String str) {//将json字符串的key值均转为大写
		return str.toUpperCase();
	}
});
List list = (List) JSONArray.toCollection(jsonObject, jc);

注:相关json引用

net.sf.json

你可能感兴趣的:(java)