//获取ps中的所有值
for (var i = 0; i < ps.length; i++) {
var p = ps[i];
for(var key in p){
alert(key+":"+p[key]);
}
}
3.JSON数据和Java对象的相互转换
要借助JSON解析器;
* 常见的解析器:Jsonlib,Gson,fastjson,jackson
1,JSON转为Java对象
1,导入关于jackson的相关jar包
2,创建Jackson核心对象 ObjectMapper
3,调用 ObjectMapper的相关方法进行转换
1.readValue(json字符串数据,Class)
2.Java对象转换JSON
1. 使用步骤:
1. 导入jackson的相关jar包
2. 创建Jackson核心对象 ObjectMapper
3. 调用ObjectMapper的相关方法进行转换
1. 转换方法:
* writeValue(参数1,obj):
参数1:
File:将obj对象转换为JSON字符串,并保存到指定的文件中
Writer:将obj对象转换为JSON字符串,并将json数据填充到字符输出流中
OutputStream:将obj对象转换为JSON字符串,并将json数据填充到字节输出流中
* writeValueAsString(obj):将对象转为json字符串
注解:
1.@JsonIgnore:排除属性;
2,@JsonFormat:属性值格式化:两者作用于对象类成员变量上
public class Person {
private String name;
private int age;
private String gender;
//@JsonIgnore
// @JsonFormat(pattern = "yyyy-MM-dd")
private Date brithday;
复杂对象Java对象转换
1,List:数组
2.Map :对象格式一致
# 案例:
* 校验用户名是否存在
在连接数据库时
定义方法把输入的用户名传进去,利于MYSQL的 query 方法返回一个list集合,没法直接返回查到没查到,如果list集合长度>0则数据库有相同的name存在
否则没有存在;
public List<User> checkname(String username) {
String sql = "select * from user where name=?";
return template.query(sql, new BeanPropertyRowMapper<User>(User.class),username);
}
* 校验用户名是否存在
1. 服务器响应的数据,在客户端使用时,要想当做json数据格式使用。有两种解决方案:
1. $.get(type):将最后一个参数type指定为"json"
2. 在服务器端设置MIME类型
response.setContentType("application/json;charset=utf-8");
html文件;
private JdbcTemplate template = new JdbcTemplate(JDBCUtils.getDataSource());
@Override
public List<User> checkname(String username) {
String sql = "select * from user where name=?";
return template.query(sql, new BeanPropertyRowMapper<User>(User.class),username);
}
}
/**
* JDBC工具类 使用Durid连接池
*/
public class JDBCUtils {
private static DataSource ds ;
static {
try {
//1.加载配置文件
Properties pro = new Properties();
//使用ClassLoader加载配置文件,获取字节输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);