复杂的json格式数据转成Java对象
2015-08-12 11:54
609 查看
{
"payCnt":3,
"payInfo":[
{
"payInfoMain":{
"itemCnt":1,
"tranUser":"",
"payer":"宁德"
},
"eBillNo":"2.0120601E+17",
"payInfoItem":[
{
"chrgName":"初级网络工程师报名费",
"msrUint":"元/科",
"chrgCode":"KA460001"
}
]
}
]
}
json中嵌套了String、Map、List类型,用JSONObject来转换:
Map obj = (Map)JSONObject.fromObject(resultMsg);//resultMsg为json串,转成Map对象
System.out.println(obj.get("payCnt"));//获取payCnt数目
List list = (List)obj.get("payInfo");//获取payInfo信息(List类型)
Map t = (Map)list.get(0);//获取第一行记录,Map类型
Map mainMap = (Map)t.get("payInfoMain");//获取payInfo主要信息,Map类型
String user = (String)mainMap.get("payer");//取出payer
注意:1、resultMsg一定是JSON对象,如果是字符串则取法完成转换
2、Map obj = (Map)JSONObject.fromObject(resultMsg);使用的json-lib.jar类库中的方法
2、若resultMsg是json字符串,则借用谷歌公司的Gson的JSONUtil类中的jsonToMap(String jsonstr)方法将字符串转换为Map对象
<1>JSONUtil.java中的将json格式转换成map对象的源码(使用时引入gson.jar类库)
public class JSONUtil{
private static Gson gson=null;
static{
if(gson==null){
gson=new Gson();
}
}
private JSONUtil(){}
/**
* 将json格式转换成map对象
* @param jsonStr
* @return
*/
public static Map<?,?> jsonToMap(String jsonStr){
Map<?,?> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
}
例如:将json格式转换成map对象举例:
Map mapObj = JSONUtil.jsonToMap(response);
"payCnt":3,
"payInfo":[
{
"payInfoMain":{
"itemCnt":1,
"tranUser":"",
"payer":"宁德"
},
"eBillNo":"2.0120601E+17",
"payInfoItem":[
{
"chrgName":"初级网络工程师报名费",
"msrUint":"元/科",
"chrgCode":"KA460001"
}
]
}
]
}
json中嵌套了String、Map、List类型,用JSONObject来转换:
Map obj = (Map)JSONObject.fromObject(resultMsg);//resultMsg为json串,转成Map对象
System.out.println(obj.get("payCnt"));//获取payCnt数目
List list = (List)obj.get("payInfo");//获取payInfo信息(List类型)
Map t = (Map)list.get(0);//获取第一行记录,Map类型
Map mainMap = (Map)t.get("payInfoMain");//获取payInfo主要信息,Map类型
String user = (String)mainMap.get("payer");//取出payer
注意:1、resultMsg一定是JSON对象,如果是字符串则取法完成转换
2、Map obj = (Map)JSONObject.fromObject(resultMsg);使用的json-lib.jar类库中的方法
2、若resultMsg是json字符串,则借用谷歌公司的Gson的JSONUtil类中的jsonToMap(String jsonstr)方法将字符串转换为Map对象
<1>JSONUtil.java中的将json格式转换成map对象的源码(使用时引入gson.jar类库)
public class JSONUtil{
private static Gson gson=null;
static{
if(gson==null){
gson=new Gson();
}
}
private JSONUtil(){}
/**
* 将json格式转换成map对象
* @param jsonStr
* @return
*/
public static Map<?,?> jsonToMap(String jsonStr){
Map<?,?> objMap=null;
if(gson!=null){
java.lang.reflect.Type type=new com.google.gson.reflect.TypeToken<Map<?,?>>(){}.getType();
objMap=gson.fromJson(jsonStr, type);
}
return objMap;
}
}
例如:将json格式转换成map对象举例:
Map mapObj = JSONUtil.jsonToMap(response);
相关文章推荐
- [转载] java垃圾回收机制
- Spring3之InternalResourceViewResolver
- java设计模式之适配器模式
- 使用@RestController,@ExceptionHandler和@Valid,把检验和异常处理从主要业务逻辑里面抽离出来
- (转)Struts2 ValueStack的理解
- Java web项目中jsp使用java类的方法
- JAVA自定义注释(Target,Retention,Documented,Inherit) - 沐风山
- java代码--登录窗口
- [java] 修饰符
- java.lang.NullPointerException:
- java中读取缓冲流时接受数据不完整的问题
- bing 输入法,切换简体、繁体快捷键与myeclipse 格式化代码冲突。。
- 深入Java集合学习系列:HashMap的实现原理
- 【SpringMVC整合MyBatis】validation校验-分组校验
- Struts标签
- java 复合优于重用
- 【SpringMVC整合MyBatis】validation校验-商品修改校验
- spring4+hibernate4配置过程中遇到的问题
- javafx virtual keyboard
- spring 常用注解