您的位置:首页 > Web前端 > JavaScript

Json字符串对象解析

2017-05-11 10:05 246 查看
场景:Java开发时,很多对外接口,无论是java,php等,提供的数据通过json传递。

如何调用接口后,快速处理json数据,存储到数据库。

本文:需引入json-lib-2.4-jdk15.jar

以接口json字符为

[

{

"name":"张三",

"sex":"男",

"age":"22"

},

{

"name":"赵一",

"sex":"男",

"age":"23"

}

]

--------------------------------以下为Vo类-------------------------------------

定义Vo类

/*

* 人员Vo

*/

public class PersonVo{

private String name;

private String sex;

private String age;

public String getName(){

return name;

}

public void setName(String name){

this.name=name;

}

public String getName(){

return name;

}

public void setSex(String sex){

this.sex=sex;

}

public String getAge(){

return age;

}

public void setAge(String age){

this.age=age;

}

}

--------------------------------以下为处理类-------------------------------------

代码引入
import net.sf.json.JSONArray;
import com.test.PersonVo;
import java.util.List;
import java.util.ArrayList;

import java.util.Map;

import java.util.HashMap;

public class PersonTask{
public void dealJson(){
try{
//请求参数
Map<String, Object> params = new HashMap<String, Object>();
params.put("startdate",“2017-01-01”);

params.put("enddate",“2017-01-31”);

List<PersonVo> voList = new ArrayList<PersonVo>();

//接口服务地址
String portUrl =“对方地址”;
//1.传递参数获取接口json对象字符
String resultMsg = HttpClient.sendByPost1(portUrl, params, "utf-8");
//2.判断获取数据是否为空,不为空就格式化为对象

if (null != resultMsg && !"0".equals(resultMsg)&& !resultMsg.equals("false") && !resultMsg.equals("无数据")) {

JSONArray json = JSONArray.fromObject(resultMsg);
//3.映射json属性到vo类属性

voList = (List<PersonVo>)JSONArray.toCollection(json, PersonVo.class);

}

PersonVo vo = new PersonVo();
//4.循环获取vo对象属性,注意vo对象属性与json对象属性必须一致,大小写也有区分。
for(int i=0;i<voList.size();i++){
vo=voList.get(i);
system.out.println( ”姓名:“+vo.getName());
//5.后续可以set到接收对象,然后存入数据库
}
}catch(Exception e){
//获取异常信息
}
}
}
-------------------------------------结束--------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Json对象