json、JSONObject、JSONArray的应用
type.java
package jiekou.duixiang;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import util.Constant;
public class Type {
private String id;
private String name;
private String image;
private String level;
private Date time;
public Type() {
super();
}
public Type(Object[] obj) {
super();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
this.id = String.valueOf(obj[0]);
this.name = String.valueOf(obj[1]);
this.image = Constant.IMG_PATH+String.valueOf(obj[2]);
this.level=String.valueOf(obj[3]);
try {
this.time = format.parse(String.valueOf(obj[4]));
} catch (ParseException e) {
this.time = null;
e.printStackTrace();
}
}
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("{");
sb.append(id).append(",").append(name).append(",").append(image).append(",").append(level).append(",").append(time);
sb.append("}");
return sb.toString();
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getLevel() {
return level;
}
public void setLevel(String level) {
this.level = level;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
}
ResponseResult.java
package jiekou.tool;
public class ResponseResult<T> {
/**
* 消息类型
*/
public String messageType;
/**
* 消息对象
*/
public T info;
public String getMessageType() {
return messageType;
}
public void setMessageType(String messageType) {
this.messageType = messageType;
}
public T getInfo() {
return info;
}
public void setInfo(T info) {
this.info = info;
}
public ResponseResult(String messageType, T info) {
super();
this.messageType = messageType;
this.info = info;
}
public ResponseResult(T info) {
super();
this.info = info;
}
public ResponseResult(String messageType) {
super();
this.messageType = messageType;
}
@Override
public String toString(){
StringBuilder sb = new StringBuilder();
sb.append("{");
sb.append(messageType).append(",").append(info);
sb.append("}");
return sb.toString();
}
}
Test.java
package test;
import java.util.ArrayList;
import java.util.List;
import jiekou.duixiang.Type;
import jiekou.duixiang.YongHu;
import jiekou.tool.ResponseResult;
import net.sf.json.JSONArray;
import org.apache.commons.codec.digest.DigestUtils;
import util.Constant;
import dao.impl.CommentDaoImpl;
import dao.impl.InstructionDaoImpl;
import dao.impl.TreeNodeDaoImpl;
import dao.impl.UserDaoImpl;
import entity.User;
public class test {
public static String getMd5Password(String userPwd, String salt) {
userPwd=DigestUtils.sha1Hex(userPwd);
userPwd=DigestUtils.md5Hex(userPwd+salt);
return userPwd;
}
public static void main(String[] args) {
/******************对象************************/
UserDaoImpl daoImpl=new UserDaoImpl();
InstructionDaoImpl instructionDaoImpl=new InstructionDaoImpl();
CommentDaoImpl commentDaoImpl=new CommentDaoImpl();
YongHu yh=new YongHu();
String userStr="admin";
String password="123123";
String token="1";
User user=daoImpl.getfindUserAccount(userStr);
if(user!=null){
password=getMd5Password(password,String.valueOf(user.getSalt()));
if(!user.getUserPwd().equals(password)){
}else{
int upload=instructionDaoImpl.getUpload(user.getUserAccount());
int collection=0;
int comment=commentDaoImpl.getComment(user.getUserAccount());
yh=new YongHu(token, user.getUserAccount(), Constant.IMG_PATH+user.getUserImage(), user.getUserName(),
user.getEmail(), user.getPhone(), user.getSex(), user.getProvince(),
user.getCity(), user.getRegisterTime(), user.getQq(), user.getAddress(), user.getBirthday(), user.getRemark(),
user.getSign(), collection, upload, comment);
JSONArray jsonArray =null;
ResponseResult<YongHu> a=new ResponseResult<YongHu>("0",yh);
List<String> types=new ArrayList<String>();
types.add(a.toString());
jsonArray=JSONArray.fromObject(types);
System.out.println(jsonArray.toString());
}
}else{
}
/******************数组************************/
JSONArray jsonArray =null;
TreeNodeDaoImpl daoImpl2=new TreeNodeDaoImpl();
String update_time="2015-04-03";
List<?> list=daoImpl2.getTime(update_time);
Type type=new Type();
List<String> types=new ArrayList<String>();
for(int i=0;i<list.size();i++) {
Object[] obj = (Object[]) list.get(i);
type=new Type(obj);
types.add(type.toString());
}
jsonArray=JSONArray.fromObject(types);
System.out.println(jsonArray.toString());
}
}
说明:
json、JSONObject、JSONArray的应用的更多相关文章
- [转]json+JSONObject+JSONArray 结合使用
JSONObject与JSONArray的区别简述: 区别在于JSONObject是一个{}包裹起来的一个对象(Object),而JSONArray则是[]包裹起来的一个数组(Array),说白点就是 ...
- jsonObject jsonArray jsonTokener jsonStringer,json解析以及http请求获取josn数据并加以解析
JSON的定义: 一 种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的 支持),从而可以在不同平台间进行 ...
- java 字符串解析为json 使用org.json包的JSONObject+JSONArray
参考: https://blog.csdn.net/xingfei_work/article/details/76572550 java中四种json解析方式 JSONObject+JSONArray ...
- net.sf.json JSONObject与JSONArray使用实例
实例自己想的一个实例应用场景:一个人可以有多个角色,例如:在家中是儿子,在学校是学生,在公司是程序员,一个人还可以办好多业务 * 每个业务好多个人都可以办,则标记(mark)就是记录这唯一标识的(如i ...
- net.sf.json JSONObject与JSONArray总结
JSONObject:json对象,就是一个键对应一个值,使用的是大括号{ },如:{key:value} JSONArray:json数组,使用中括号[ ],只不过数组里面的项也是json键值对格式 ...
- JSONObject,JSONArray,Map,String之间转换
http://blog.csdn.net/superit401/article/details/51727739 1.String转JSONObject String jsonMessage = &q ...
- java JSONObject/JSONArray详解
应用架包:json-lib-2.4-jdk15.jar.及相关依赖架包. 一.JSONObject和JSONArray对象 -------------------------------------- ...
- jsonobject 遍历 org.json.JSONObject
import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public static ...
- net.sf.json.JSONObject 和org.json.JSONObject 的差别
http://my.oschina.net/wangwu91/blog/340721 net.sf.json.JSONObject 和org.json.JSONObject 的差别. 一.创建jso ...
- jsonObject jsonarray
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
随机推荐
- vue深入了解组件——组件注册
一.组件名 在注册一个组件的时候,我们始终需要给它一个名字.比如在全局注册的时候我们已经看到了: Vue.component('my-component-name', { /* ... */ }) J ...
- spring cloud DashBoard
1 依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring ...
- Shiro权限总结
参考学习地址 shiro 瞅完就会用(ssm+shiro) Spring Shiro配置实现用户认证和授权 anon:它对应的过滤器里面是空的,什么都没做,另外.do和.jsp后面的*表示参 ...
- Hibernate 的update语句性能详解
Hibernate 中如果直接使用 Session.update(Object o); 会把这个表中的所有字段更新一遍. 比如: view plaincopy to clipboardprint? p ...
- Hibernate迫切左外连接和迫切内连接
•迫切左外连接: •LEFT JOIN FETCH 关键字表示迫切左外连接检索策略. –list() 方法返回的集合中存放实体对象的引用, 每个 Department 对象关联的 Employee ...
- @Transactionl注解
spring 事务注解 默认遇到throw new RuntimeException("...");会回滚 需要捕获的throw new Exception("...&q ...
- Andriod Studio adb 安装应用
原文链接:https://blog.csdn.net/u014608640/article/details/51833304 下面的命令安装.重新安装和卸载应用程序. 安装:adb -s HT9BYL ...
- Git操作的一些注意
这是在在学习Git时遇到的一些需要注意的地方,都是一些小细节的地方,可能会有错误的地方,希望大家可以指出谢谢 1.git使用,安装后,首先要打开git bash 2.必须登录后才可以操作git ...
- for循环语句个人小结
重新看了一下光盘上的用for循环写一个菱形的答案,发现了其实有几点是可以灵活运用的: 1,当定义行数的时候,也可以用相等的间断的数字隔开,比如 for(int a = 5; a >= 1; a- ...
- 第八章 高级搜索树 (xa1)红黑树:动机