java 对象 与json字符串的相互转化
来源:互联网 发布:淘宝app怎么换皮肤 编辑:程序博客网 时间:2024/06/05 07:44
由于java是面向对象的语言,在view与Controller之间的交互上,不管是定义dto还是直接使用vo反正都是用的java对象,而由于ajax的兴起,加上很多比较成熟的ui框架(bootstrap,jquery easyui,extjs)等在数据显示上都需要使用json数据,所以掌握好java对象和json字符串之间的相互转化显得很有必要。(纯属个人理解)
首先jar包的导入:
首先定义一个User类:
public class User implements Serializable{ // 新建一个User 对象private int userId;private String userName;public int getUserId() {return userId;}public String getUserName() {return userName;}public void setUserId(int userId) {this.userId = userId;}public void setUserName(String userName) {this.userName = userName;}public User(int userId, String userName) {super();this.userId = userId;this.userName = userName;}public User() {super();// TODO Auto-generated constructor stub}}在主函数里进行转化的测试(写了几个简单的,其它的都差不多):
public class JsonTest {public static void main(String[] args) {// 将对象转化成json 字符串 : 使用 JSONObjectUser u=new User(1,"123");JSONObject jsonObject=new JSONObject(); //创建json对象jsonObject.element("user",u); //加入元素 uSystem.out.println(jsonObject.toString()); //{"user":{"userId":1,"userName":"123"}}// 当然也可以直接得到 JSONObject 对象 //JSONObject json2=JSONObject.fromObject(u);// 下面将list(map,collection) 转化成json 数组User u1=new User(2,"123");List<User> users=new LinkedList<User>();users.add(u);users.add(u1);JSONArray jarray=new JSONArray();jarray.addAll(users);System.out.println(jarray.toString()); //[{"userId":1,"userName":"123"},{"userId":2,"userName":"123"}]//当然也可以使用上面的方法:JSONObject jobject=new JSONObject();jobject.element("users", users);System.out.println(jobject.toString()); //{"users":[{"userId":1,"userName":"123"},{"userId":2,"userName":"123"}]}// 下面将JSON字符串转化成对象:JSONObject jsonObject3=JSONObject.fromObject("{\"userId\":3,\"userName\":\"123\"}");User u3=(User)jsonObject3.toBean(jsonObject3, User.class); //User 必须要提供无参构造方法System.out.println("u3Name:"+u3.getUserName()); //u3Name:123//将json字符串转化成数组:JSONArray jarray2=JSONArray.fromObject("[{\"userId\":4,\"userName\":\"444\"},{\"userId\":5,\"userName\":\"555\"}]");@SuppressWarnings("deprecation")List<User> users2=jarray2.toList(jarray2, User.class);for(User uu:users2)System.out.println(uu.getUserName()); //444,555}}
0 0
- java 对象 与json字符串的相互转化
- Json对象与Json字符串相互转化
- json对象与json字符串相互转化
- Json字符串与字典对象的相互转化
- json字符串和java对象的相互转化
- json字符串和对象的相互转化
- json与字符串的相互转化
- json数据与字符串的相互转化
- Json 与 后台对象的相互转化
- json与对象的相互转化
- json和java对象的相互转化
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
- vim乱码的解决
- PB数据窗口其他知识
- MacOS 下安装Gerrit
- 通过Jetty搭建一个简单的Servlet运行环境
- Oralce 日期函数
- java 对象 与json字符串的相互转化
- VS2010 C# 你得学会并且学得会的Socket编程基础知识(Silverlight Socket编程)
- 解决alaert.builder二次调用报错的bug
- emacs在win8乱码
- 16.0~16.8 多任务 后台运行 Multitasking
- android 判断点击的位置是不是在指定的view上
- 集团信息化之路——关于网络电子采购系统的需求报告
- Implied do loop of FORTRAN
- Android textView 跑马灯效果