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

JSON 和 List之互相转换

2016-06-27 11:28 441 查看




godlovelian


梦想还是要有的,万一实现了呢

博客园
首页
新随笔
联系
管理
订阅



随笔- 34  文章- 2  评论- 2 


json数组和List集合转换总结

//方法一,将json解析后赋给单独的元素
String jstr="{'json':'jsonvalue','bool':true,'int':1,'double':'20.5'}";
JSONObject json=JSONObject.fromObject(jstr);
boolean bool=json.getBoolean("bool");
int i=json.getInt("int");
double d=json.getDouble("double");
String value=json.getString("json");
System.out.println("bool="+String.valueOf(bool)+"\tjson="+value+"\tint="+i+"\tdouble="+d);




//方法二,json对象和bean对象之间相互转换
//假如你是有一个bean对象
class User{
private String name;
private<
4000
span style="margin:0px;padding:0px;line-height:1.5;"> String psw;
//封装getter/setter省略
}

//把一个json对象变成user
String u="{'name':'sail331x','psw':'123456789'}";
//用user对象接收json中的元素
User user=(User)JSONObject.toBean(JSONObject.fromObject(u),User.class);

//把一个user变成json对象:
JSONObject juser=JSONObject.fromObject(user);
//json字符串jstr
String jstr=juser.toString();


//方法三,json对象直接转list集合、list集合转json对象
//声明一个Person 实体类:
import java.util.Date;
public class Person {
String id;
int age;
String name;
Date birthday;
//get,set方法省略
}

//测试json数据转换
import java.util.Iterator;
import java.util.List;

import org.junit.Test;

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;

public class JsonToList {

  public static void main(String[] args) {
    String json="[{'name':'zhuangsan','age':18},{'name':'lisi','age':20}]";
    JSONArray jsonarray = JSONArray.fromObject(json);
    System.out.println(jsonarray);
    List list = (List)JSONArray.toCollection(jsonarray, Person.class);
    Iterator it = list.iterator();
    while(it.hasNext()){
      Person p = (Person)it.next();
      System.out.println(p.getAge());
    }
  }

  @Test
  public void jsonToList1(){
    String json="[{'name':'zhuangsan','age':18},{'name':'lisi','age':20}]";
    JSONArray jsonarray = JSONArray.fromObject(json);
    System.out.println(jsonarray);
    List list = (List)JSONArray.toList(jsonarray, Person.class);
    Iterator it = list.iterator();
    while(it.hasNext()){
      Person p = (Person)it.next();
      System.out.println(p.getAge());
    }
  }

  @Test
  public void jsonToList2(){
    String json="[{'name':'zhuangsan','age':20},{'name':'lisi','age':18}]";
    JSONArray jsonarray = JSONArray.fromObject(json);
    System.out.println(jsonarray);
    System.out.println("------------");
    List list = (List)JSONArray.toList(jsonarray, new Person(), new JsonConfig());
    Iterator it = list.iterator();
    while(it.hasNext()){
      Person p = (Person)it.next();
      System.out.println(p.getAge());
    }
  }
}

//将list对象转为JSON字符串数组:
import java.util.LinkedList;
import java.util.List;
import net.sf.json.JSONArray;
public class ListToJson {
  public static void main(String[] args) {
    List list = new LinkedList();
    for(int i=0;i<3;i++){
      Person p = new Person();
      p.setAge(i);
      p.setName("name"+i);
      list.add(p);
    }
  JSONArray jsonarray = JSONArray.fromObject(list);
  System.out.println(jsonarray);
  }

}


分类: java

标签: jsonlist集合转换java

好文要顶 关注我 收藏该文 

 






godlovelian
关注 - 33
粉丝 - 2

+加关注

0

0

(请您对文章做出评价)

« 上一篇:查看两个集合中有没有相同的元素的方法。Collections
disjoint
» 下一篇:超级方便的linux命令手册

posted @ 2015-05-05 15:20 godlovelian 阅读(150)
评论(0)  编辑 收藏

刷新评论刷新页面返回顶部

注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。

【推荐】50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
【推荐】融云即时通讯云-豆果美食、Faceu等亿级APP都在用
【推荐】报表开发别头大!类Excel
复杂报表开发实例,即学即用
【推荐】福利Time,讯飞开放平台注册即送好礼!
【推荐】阿里云万网域名:.xin .com将推出重磅优惠





最新IT新闻:

· 马云手下最苦逼的员工:每年花1个亿买买买

· 终于来了!微软.Net Core 1.0下载放出

· 超级高铁Hyperloop创始人透露,已经在北京建立研究中心

· 迪信通将推自有手机品牌 扩充渠道年底门店超万家

· 传支付宝将收购德国金融企业25%股权 或服务其欧洲扩张计划

» 更多新闻...





最新知识库文章:
· 我听到过的最精彩的一个软件纠错故事

· 如何避免软件工程中最昂贵错误的发生

· 拒绝传统,看 Facebook 如何以三大法宝化茧成蝶

· 当我们谈论极简设计,我们在谈些什么

· 用户体验设计遇见色彩情感

» 更多知识库文章...

昵称:godlovelian

园龄:2年

粉丝:2

关注:33
+加关注

<2016年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789


搜索

 

 


常用链接

我的随笔
我的评论
我的参与
最新评论
我的标签
更多链接


我的标签

linux(3)
HTML(2)
Oracle(2)
SQL(1)
项目总结(1)
转换(1)
bootstrap(1)
java(1)
java web(1)
jquery(1)
更多


随笔分类(37)

bootstrap(1)
Extjs(1)
HTML(3)
java(10)
java web(4)
jboss(1)
jquery(2)
linux(5)
mysql(2)
oracle(5)
SQL server(2)
随笔(1)


随笔档案(34)

2016年6月 (1)
2016年5月 (1)
2016年4月 (1)
2016年3月 (1)
2016年2月 (1)
2015年11月 (3)
2015年10月 (2)
2015年9月 (1)
2015年8月 (1)
2015年6月 (2)
2015年5月 (9)
2015年4月 (3)
2015年3月 (2)
2015年1月 (1)
2014年12月 (2)
2014年8月 (1)
2014年7月 (2)


最新评论

1. Re:禁用 BootStrap 模态框(Modal) 点击空白时自动关闭

昨天晚上还在要这个功能,这就有了,谢谢!

不过 Bootstrap 不是 BootStrap,读音也是 “步次抓破”,不是“布特斯抓破”。

呵呵。

--Highflyer

2. Re:我参与的第一个项目上线后的总结

楼主加油!

--爱情漂流瓶


阅读排行榜

1. 我参与的第一个项目上线后的总结(351)
2. 禁用 Bootstrap 模态框(Modal) 点击空白时自动关闭(337)
3. 开发中端口被占用的问题(115)
4. list集合的遍历3种方法(84)
5. mysql 中两个日期相减获得 天 小时 分钟 或者 小时:分钟的格式(82)


评论排行榜

1. 禁用 Bootstrap 模态框(Modal) 点击空白时自动关闭(1)
2. 我参与的第一个项目上线后的总结(1)


推荐排行榜

1. 我参与的第一个项目上线后的总结(1)
2. 超级方便的linux命令手册(1)

Copyright ©2016 godlovelian
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: