博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSON简单例子
阅读量:6934 次
发布时间:2019-06-27

本文共 5239 字,大约阅读时间需要 17 分钟。

hot3.png

下载

    到下载json-lib-1.1-jdk15.jar,运行json还需要的包有:commons-lang.jarcommons-logging.jarcommons-beanutils.jarxom-1.0-2005-01-05.jarezmorph-1.0.1.jar,可在搜索下载。

//第一个案例:java转换成JSON字符串

   

   

public void fromObject(){       //将java对象转换成JSON字符串       Teacher teacher=new Teacher();       teacher.setName("aa");       teacher.setSex("男");       teacher.setAge(28);       teacher.setBirth(new Date());             //JSON字符串       //{name:"aa",sex:"男",age:"28",birth:"...."}       //需要引入类库文件       System.out.println(JSONObject.fromObject(teacher));    }

 

{"age":28,"birth":{"date":28,"day":2,"hours":9,"minutes":32,"month":1,"seconds":5,"time":1330392725328,"timezoneOffset":-480,"year":112},"name":"aa","sex":"男"}

 

 

 

//将java集合转换成JSON字符串

   

    

public void fromVector(){             List
teas=new ArrayList
(); for(int i=0;i<3;i++){ Teacher teacher=new Teacher(); teacher.setName("aa"); teacher.setSex("男"); teacher.setAge(28); teacher.setBirth(new Date()); teas.add(teacher); } //teas集合 System.out.println(JSONArray.fromObject(teas).toString()); }

[{"age":28,"birth":{"date":28,"day":2,"hours":9,"minutes":29,"month":1,"seconds":18,"time":1330392558562,"timezoneOffset":-480,"year":112},"name":"aa","sex":"男"},{"age":28,"birth":{"date":28,"day":2,"hours":9,"minutes":29,"month":1,"seconds":18,"time":1330392558562,"timezoneOffset":-480,"year":112},"name":"aa","sex":"男"},{"age":28,"birth":{"date":28,"day":2,"hours":9,"minutes":29,"month":1,"seconds":18,"time":1330392558562,"timezoneOffset":-480,"year":112},"name":"aa","sex":"男"}]

 

 

// JSON字符串转换为对象

   

 

public void fromJsonObject() {       // 第一步:定义成字符串       String teaObj = "{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":20,\"month\":1,\"seconds\":25,\"time\":1330392025906,\"timezoneOffset\":-480,\"year\":112},\"name\":\"aa\",\"sex\":\"男\"}";       // 第二步:使用JsonObject.fromObject方法将其字符串转换为JsonObject对象       JSONObject jsonObj = JSONObject.fromObject(teaObj);       // 第三步:调用JsonObject的toBean的方法,将其转换成一个Object对象当取单个的时候://System.out.println("uname:"+jsonObj.get("name")); //System.out.println("uname:"+PropertyUtils.getProperty(Teacher,"uname"));        Teacher teac = (Teacher) JSONObject.toBean(jsonObj,Teacher.class);       System.out.println(teac.toString());     }

Teacher [age=28, birth=Tue Feb 28 09:20:25CST 2012, name=aa, sex=男, stus=null]

 

// 将数组的字符串转换成集合对象

    @SuppressWarnings("unchecked")

   

  

public void fromJsonArray() {       // 声明字符串       String teaArr = "[{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"aa\",\"sex\":\"男\"},{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"aa\",\"sex\":\"男\"},{\"age\":28,\"birth\":{\"date\":28,\"day\":2,\"hours\":9,\"minutes\":28,\"month\":1,\"seconds\":44,\"time\":1330392524093,\"timezoneOffset\":-480,\"year\":112},\"name\":\"aa\",\"sex\":\"男\"}]";       // 调用JsonArray.fromObject方法将其字符串转成一个JsonArray'对象       JSONArray jsonArra = JSONArray.fromObject(teaArr);       // 第三步:调用       List
teas = (List
) JSONArray.toCollection(jsonArra, Teacher.class); for (Teacher tea : teas) { System.out.println(tea.toString()); } }

Teacher [age=28, birth=Tue Feb28 09:28:44 CST 2012, name=aa, sex=男, stus=null]

Teacher [age=28, birth=Tue Feb28 09:28:44 CST 2012, name=aa, sex=男, stus=null]

Teacher [age=28, birth=Tue Feb 28 09:28:44CST 2012, name=aa, sex=男, stus=null]

 

 

//将java对象转换为json字符的案例

   

 

public void fromObject1(){       // 将java对象转换为JSON数据       Teacher teacher = new Teacher();       teacher.setName("老王");       teacher.setAge(23);       teacher.setBirth(new Date());             List
seas = new ArrayList
(); for (int i = 0; i < 3; i++) { Student stu = new Student(); stu.setName("熊熊"+i); seas.add(stu); } teacher.setStus(seas); System.out.println(JSONObject.fromObject(teacher).toString()); }

{"age":23,"birth":{"date":28,"day":2,"hours":13,"minutes":50,"month":1,"seconds":22,"time":1330408222921,"timezoneOffset":-480,"year":112},"name":"老王","sex":"","stus":[{"name":"熊熊0"},{"name":"熊熊1"},{"name":"熊熊2"}]}

String json = "{name=\"json\",bool:true,int:1,double:2.2,func:function(a){ return a; },array:[1,2]}";  JSONObject jsonObject = JSONObject.fromObject( json );  Object bean = JSONObject.toBean( jsonObject ); System.out.print(jsonObject.get( "name" )),System.out.print(PropertyUtils.getProperty( bean, "name" ) ); 一样取值  jsonObject.get( "bool" )|| PropertyUtils.getProperty( bean, "bool" ) );  jsonObject.get( "int" )||PropertyUtils.getProperty( bean, "int" ) );  jsonObject.get( "double" )|| PropertyUtils.getProperty( bean, "double" ) );   jsonObject.get( "func" )|| PropertyUtils.getProperty( bean, "func" ) );  List expected = JSONArray.toList( jsonObject.getJSONArray( "array" ) );  expected, (List) PropertyUtils.getProperty( bean, "array" ) );

转载于:https://my.oschina.net/xiahuawuyu/blog/67484

你可能感兴趣的文章
apk 静默安装
查看>>
OnCreateContextMenuListener接口简介
查看>>
tp 批量转码
查看>>
国内阿里maven仓库镜像maven配置文件maven仓库速度快
查看>>
VIRTUALBOX 虚拟机安装 OS X 10.9 MAVERICKS
查看>>
DWZ使用笔记
查看>>
XP的定时关机命令?
查看>>
ORACLE SEQUENCE 介绍
查看>>
atitit.seo 发帖关键词以及链接的制作.doc
查看>>
GoogleProgressBar
查看>>
Sql Server之旅——第四站 你必须知道的非聚集索引扫描
查看>>
tcpdump抓包分析具体解释
查看>>
多线程设计模式总结(三)
查看>>
Silverlight 安装失败 提示 消息 ID 1603 的解决方法
查看>>
使用EMOJI表情
查看>>
mac 下基于firebreath 开发多浏览器支持的浏览器插件
查看>>
HDU Redraw Beautiful Drawings 推断最大流是否唯一解
查看>>
微软职位内部推荐-Software Engineer II
查看>>
C/C++内存管理
查看>>
9.cadence.封装1[原创]
查看>>