阿里云服务器免费领卷啦。

捡代码论坛-最全的游戏源码下载技术网站!

 找回密码
 立 即 注 册

QQ登录

只需一步,快速开始

搜索
关于源码区的附件失效或欺骗帖, 处理办法
查看: 2080|回复: 0

JSON net.sf.json 使用方法

[复制链接]

4208

主题

210

回帖

12万

积分

管理员

管理员

Rank: 9Rank: 9Rank: 9

积分
126156
QQ
发表于 2017-3-10 19:27:51 | 显示全部楼层 |阅读模式

1.JAR包简介
要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包:
  • commons-lang.jar
  • commons-beanutils.jar
  • commons-collections.jar
  • commons-logging.jar
  • ezmorph.jar
  • json-lib-2.2.2-jdk15.jar
2.JSONObject对象使用
JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。在本例中,我们将使用JSONObject类创建JSONObject对象,然后我们打印这些对象的值。为了使用 JSONObject对象,我们要引入"net.sf.json"包。为了给对象添加元素,我们要使用put()方法。
2.1.实例1

  1. package jsontest;

  2. import net.sf.json.JSONArray;
  3. import net.sf.json.JSONObject;

  4. public class JSONObjectSample {

  5.     // 创建JSONObject对象
  6.     private static JSONObject createJSONObject() {
  7.         JSONObject jsonObject = new JSONObject();
  8.         jsonObject.put("username", "huangwuyi");
  9.         jsonObject.put("sex", "男");
  10.         jsonObject.put("QQ", "413425430");
  11.         jsonObject.put("Min.score", new Integer(99));
  12.         jsonObject.put("nickname", "梦中心境");
  13.         return jsonObject;
  14.     }

  15.     public static void main(String[] args) {
  16.         JSONObject jsonObject = JSONObjectSample.createJSONObject();//静待方法,直接通过类名+方法调用
  17.         // 输出jsonobject对象
  18.         System.out.println("jsonObject:" + jsonObject);

  19.         // 判读输出对象的类型
  20.         boolean isArray = jsonObject.isArray();
  21.         boolean isEmpty = jsonObject.isEmpty();
  22.         boolean isNullObject = jsonObject.isNullObject();
  23.         System.out.println("是否为数组:" + isArray + ", 是否为空:" + isEmpty
  24.                 + ", isNullObject:" + isNullObject);

  25.         // 添加属性,在jsonObject后面追加元素。
  26.         jsonObject.element("address", "福建省厦门市");
  27.         System.out.println("添加属性后的对象:" + jsonObject);

  28.         // 返回一个JSONArray对象
  29.         JSONArray jsonArray = new JSONArray();
  30.         jsonArray.add(0, "this is a jsonArray value");
  31.         jsonArray.add(1, "another jsonArray value");
  32.         jsonObject.element("jsonArray", jsonArray);
  33.         //在jsonObject后面住家一个jsonArray
  34.         JSONArray array = jsonObject.getJSONArray("jsonArray");
  35.         System.out.println(jsonObject);
  36.         
  37.         
  38.         System.out.println("返回一个JSONArray对象:" + array);
  39.         // 添加JSONArray后的值
  40.         // {"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
  41.         System.out.println("结果=" + jsonObject);

  42.         // 根据key返回一个字符串
  43.         String username = jsonObject.getString("username");
  44.         System.out.println("username==>" + username);

  45.         // 把字符转换为 JSONObject
  46.         String temp = jsonObject.toString();
  47.         JSONObject object = JSONObject.fromObject(temp);
  48.         // 转换后根据Key返回值
  49.         System.out.println("qq=" + object.get("QQ"));

  50.     }

  51. }
复制代码
输出结果


  1. jsonObject:{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境"}
  2. 是否为数组:false, 是否为空:false, isNullObject:false
  3. 添加属性后的对象:{"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市"}
  4. {"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
  5. 返回一个JSONArray对象:["this is a jsonArray value","another jsonArray value"]
  6. 结果={"username":"huangwuyi","sex":"男","QQ":"413425430","Min.score":99,"nickname":"梦中心境","address":"福建省厦门市","jsonArray":["this is a jsonArray value","another jsonArray value"]}
  7. username==>huangwuyi
  8. qq=413425430
复制代码
2.2.实例2.


  1. package jsontest;

  2. import net.sf.json.JSONArray;
  3. import net.sf.json.JSONObject;

  4. public class JSONTest {
  5.     public static void main(String args[])
  6.     {
  7.         JSONObject jsonObj0  = new JSONObject();
  8.         JSONObject jsonObj  = new JSONObject();
  9.         JSONObject jsonObj2  = new JSONObject();
  10.         JSONObject jsonObj3  = new JSONObject();
  11.         JSONArray jsonArray = new JSONArray();
  12.         
  13.         //创建jsonObj0
  14.         jsonObj0.put("name0", "zhangsan");
  15.         jsonObj0.put("sex1", "female");
  16.         System.out.println("jsonObj0:"+jsonObj0);
  17.         
  18.         //创建jsonObj1
  19.         jsonObj.put("name", "xuwei");
  20.         jsonObj.put("sex", "male");
  21.         System.out.println("jsonObj:"+jsonObj);
  22.    
  23.         //创建jsonObj2,包含两个条目,条目内容分别为jsonObj0,jsonObj1
  24.         jsonObj2.put("item0", jsonObj0);
  25.         jsonObj2.put("item1", jsonObj);
  26.         System.out.println("jsonObj2:"+jsonObj2);
  27.         
  28.         //创建jsonObj3,只有一个条目,内容为jsonObj2
  29.         jsonObj3.element("j3", jsonObj2);
  30.         System.out.println("jsonObj3:"+jsonObj3);
  31.    
  32.         //往JSONArray中添加JSONObject对象。发现JSONArray跟JSONObject的区别就是JSONArray比JSONObject多中括号[]
  33.         jsonArray.add(jsonObj);
  34.         System.out.println("jsonArray:"+jsonArray);
  35.         
  36.         JSONObject jsonObj4  = new JSONObject();
  37.         jsonObj4.element("weather", jsonArray);
  38.         System.out.println("jsonObj4:"+jsonObj4);
  39.     }
  40. }
复制代码
输出结果:




  1. jsonObj0:{"name0":"zhangsan","sex1":"female"}
  2. jsonObj:{"name":"xuwei","sex":"male"}
  3. jsonObj2:{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}
  4. jsonObj3:{"j3":{"item0":{"name0":"zhangsan","sex1":"female"},"item1":{"name":"xuwei","sex":"male"}}}
  5. jsonArray:[{"name":"xuwei","sex":"male"}]
  6. jsonObj4:{"weather":[{"name":"xuwei","sex":"male"}]}
复制代码
关于java bean的处理

创建java对象:

  1. public class Address {
  2. private String road;
  3. private String streate;
  4. private String provience;
  5. private String no;
  6. public String getRoad() {
  7.   return road;
  8. }
  9. public void setRoad(String road) {
  10.   this.road = road;
  11. }
  12. public String getStreate() {
  13.   return streate;
  14. }
  15. public void setStreate(String streate) {
  16.   this.streate = streate;
  17. }
  18. public String getProvience() {
  19.   return provience;
  20. }
  21. public void setProvience(String provience) {
  22.   this.provience = provience;
  23. }
  24. public String getNo() {
  25.   return no;
  26. }
  27. public void setNo(String no) {
  28.   this.no = no;
  29. }
  30. }
复制代码
1.将json对象转化为java对象

  1. JSONObject jsonObject = JSONObject.fromObject("{"no":"104","provience":"陕西","road":"高新路","streate":""}");
  2.   Address Address  = (Address) JSONObject.toBean(jsonObject,Address.class);
  3.   log.info(Address.getNo());
  4.   log.info(Address.getStreate());
  5.   log.info(Address.getProvience());
  6.   log.info(Address.getRoad());
复制代码
2.将java对象转化为json对象
   将java对象转化为json对象:

  1.    Address address = new Address();
  2.     address.setNo("104");
  3.     address.setProvience("陕西");
  4.     address.setRoad("高新路");
  5.     address.setStreate("");
  6.     JSONArray json = JSONArray.fromObject(address);
  7.     log.info(json.toString());



  8.   将java对象list转化为json对象:

  9.   Address address = new Address();
  10.   address.setNo("104");
  11.   address.setProvience("陕西");
  12.   address.setRoad("高新路");
  13.   address.setStreate("");
  14.   Address address2 = new Address();
  15.   address2.setNo("105");
  16.   address2.setProvience("陕西");
  17.   address2.setRoad("未央路");
  18.   address2.setStreate("张办");
  19.   List list = new ArrayList();
  20.   list.add(address);
  21.   list.add(address2);
  22.   JSONArray json = JSONArray.fromObject(list);
  23.   log.info(json.toString());
复制代码


3.JSONArray转化为list
  1. JSONObject jsonObject = JSONObject.fromObject("{"no":"104","provience":"陕西","road":"高新路","streate":""}");
  2.   JSONArray jsonArray = new JSONArray();
  3.   jsonArray.add("{"no":"104","provience":"陕西","road":"高新路","streate":""}");
  4.   jsonArray.add("{"no":"104","provience":"陕西","road":"高新路","streate":"123"}");
  5.   Object object = JSONArray.toList(jsonArray,Address.class);
复制代码
原始地址:

  1. http://www.cnblogs.com/hitwtx/articles/2468633.html
复制代码



捡代码论坛-最全的游戏源码下载技术网站! - 论坛版权郑重声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与捡代码论坛-最全的游戏源码下载技术网站!享有帖子相关版权
3、捡代码论坛版权,详细了解请点击。
4、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
5、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
6、如无法链接失效或侵犯版权,请给我们来信:jiandaima@foxmail.com

回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立 即 注 册

本版积分规则

技术支持
在线咨询
QQ咨询
3351529868

QQ|手机版|小黑屋|捡代码论坛-专业源码分享下载 ( 陕ICP备15015195号-1|网站地图

GMT+8, 2024-4-20 07:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表