一、json-lib所需的jar包:

  json-lib.jar,commons-beanutils.jar,commons-collections.jar,commons-lang.jar,commons-logging.jar,ezmorph-1.0.6.jar(可直接在网上搜索下载)。

二、解析转化:

  1、json字符串  <------>  json

     String jsonStr="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
     //String------>json
JSONObject jsonObject=JSONObject.fromObject(jsonStr);
     //json------>String
     String jsonString=jsonObject.toString();

  2、java实体类  <------>  json

public class User {
private String name;
private int age;
private String address;
private double weight;
private boolean handsome;
//省略构造和get/set方法
}
  User user=new User("peter", 20, "广州", 55.5, true);
  //java实体类------>json
JSONObject jsonObject=JSONObject.fromObject(user);   
  
//{"weight":55.5,"address":"广州","name":"peter","age":20,"handsome":true}
System.out.println(jsonObject);

  

  3、List  <------>  json

        List<String> list=new ArrayList<String>();
list.add("QQQQQQ");
list.add("WWWWWW");
list.add("EEEEEE");
list.add("RRRRRR");
//List------>json
JSONArray jsonArray=JSONArray.fromObject(list);
//json------>List
List<String> list3=(List)JSONArray.toCollection(jsonArray);

  4、Map  <------>  json

     Map<String, String> map=new HashMap<String, String>();
map.put("name", "peter");
map.put("sex", "Man");
map.put("age", "20"); //Map------json
JSONObject jsonMap=JSONObject.fromObject(map);
//json------>Map
Map<String, String> mapJson=(Map)JSONObject.toBean(jsonMap, Map.class);

  5、Set  <------>  json

     Set<String> set=new HashSet<String>();
set.add("QQQQQQ");
set.add("wwwwww");
set.add("eeeeee");
//Set------>json
JSONArray array=JSONArray.fromObject(set); //json------>Set
Set<String> set1=new HashSet<String>();
for (Object object : array) {
set1.add(object.toString());
} //报错:java.lang.ClassCastException
Set<String> setJson=(Set<String>)JSONArray.toCollection(array,Set.class); //直接转List
List<String> list=(List)JSONArray.toCollection(array);

三、CRUD:

  1、查询数据:

     //对比age和weight数据
String jsonStr="{\"name\" : \"peter\",\"age\" : 25,\"address\" : \"广州\",\"weight\" : \"55.5\",\"handsome\" : true}";
//String------>json
JSONObject jsonObject=JSONObject.fromObject(jsonStr);
String name=jsonObject.getString("name");
String age=jsonObject.getString("age");
String address=jsonObject.getString("address");
String handsome=jsonObject.getString("handsome"); //正常输出25
int age1=jsonObject.getInt("age");
long age2=jsonObject.getLong("age");
double age3=jsonObject.getDouble("age"); //int和long输出55,double输出55.5
int weight1=jsonObject.getInt("age");
long weight2=jsonObject.getLong("age");
double weight3=jsonObject.getDouble("age"); boolean handsome1=jsonObject.getBoolean("handsome");
        for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.get(i));
}

  2、增加数据

    jsonObject.put("height", 170);
        jsonArray.add("MMMMMM");

  3、删除数据:

      jsonObject.remove("height");
        //index从0开始
jsonArray.remove(index);

  4、修改数据:

        //重置数据即可
jsonObject.put("age", 20);
        for (int i = 0; i < jsonArray.size(); i++) {
if("QQQQQQ".equals(jsonArray.get(i))){
jsonArray.remove(i);
jsonArray.add("qqqqqq");
}
}

  

json-lib基础的更多相关文章

  1. [BS-12] JSON的基础知识--百科

    JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm

  2. Json lib集成stucts2的使用方法 抛出 NestableRuntimeException异常的解决办法

    首先贴出struts 2.3.16需要导入的包 因为使用的是2.3 版本,必须要导入这个包,否则会报java.lang.NoClassDefFoundError: org/apache/commons ...

  3. 使用JsonConfig控制JSON lib序列化

    将对象转换成字符串,是非常常用的功能,尤其在WEB应用中,使用 JSON lib 能够便捷地完成这项工作.JSON lib能够将Java对象转成json格式的字符串,也可以将Java对象转换成xml格 ...

  4. Atitit.json类库的设计与实现 ati json lib

    Atitit.json类库的设计与实现 ati json lib 1. 目前jsonlib库可能有问题,可能版本冲突,抛出ex1 2. 解决之道:1 2.1. 自定义json解析库,使用多个复合的js ...

  5. JSON教程基础

    一.基础简介 二.JSON 语法 三.JSON 使用 一.基础简介 1.JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本 ...

  6. python操作json数据格式--基础

    非常基础的json库的用法,后续添加数据格式.编码等内容 参考文章 json进阶 Python的json模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps ...

  7. JSON相关基础知识

    JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...

  8. IOS SWIFT 网络请求JSON解析 基础一

    前言:移动互联网时代,网络通信已经是手机端必不可少的功能.应用中也必不可少地使用了网络通信,增强客户端与服务器交互.使用NSURLConnection实现HTTP的通信.NSURLConnection ...

  9. JSON lib 里JsonConfig详解

    一,setCycleDetectionStrategy 防止自包含 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void ...

  10. Json数组基础知识

    1.对象是一个无序的“‘名称/值’对”集合. (1)一个对象以“{”(左括号)开始,“}”(右括号)结束. (2)每个“名称”后跟一个“:”(冒号): (3)“‘名称/值’ 对”之间使用“,”(逗号) ...

随机推荐

  1. Microsoft Office Enterprise 2007 在安装过程中出错的解决方法

    今天笔者在使用PowerPoint 2007打开一个ppt的内嵌的excel表格时报如下错误: 无法找到 服务器应用程序.源文件.和项目,或返回的未知错误.请重新安装服务程序 然后就先把ppt文件发给 ...

  2. Android sd卡log日志

    import android.os.Environment; import android.util.Log; import java.io.File; import java.io.FileOutp ...

  3. 【Android】Android import和export使用说明 及 export报错:jarlist.cache: Resource is out of sync with the file syst解决

    在Android开发export项目时发现有时会报错,内容如下: Problems were encountered during export:  Error exporting PalmIdent ...

  4. layerui如何隐藏按钮?

    https://www.layui.com/doc/modules/layer.html#btn 建议把 btn: ['取消'],btnAlign: 'c',yes: function (index) ...

  5. Oracle备份恢复之Oracle11G R2用exp无法导出空表解决方法

    在11G R2中有个新特性,当表无数据时,不分配segment,以节省空间Oracle当然在执行export导出时,空表则无法导出,但是还是有解决办法的: 解决方法: 一.insert一行,再roll ...

  6. Python:lambda表达式(匿名函数)

    lambda表达式: 通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数. 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便. 在Python中 ...

  7. mybatis-3 cache 源码赏析

    总结: 从缓存策略源码,可以分析java相关类库 mybatis-3/src/main/java/org/apache/ibatis/cache/decorators/SoftCache.java p ...

  8. php之setcookie

    注意在任何发送请求头之前不能有输出,不然会获取不到header头 setcookie(key,value, expires, 'path', domain); 在发送cookie时,会自动把cooki ...

  9. ES6 ruanyifeng, shim polyfill

    http://www.cnblogs.com/upup2015/p/7927485.html 一个等号是赋值操作,==先转换类型再比较,===先判断类型,如果不是同一类型直接为false npm in ...

  10. BZOJ4614 UVA1742 Oil 计算几何+搜索+扫描线

    正解:计算几何+搜索+扫描线 解题报告: 传送门 哇我是真的觉得这题很妙了!各个方面都很妙啊... 首先有一个很重要的结论:最优线一定可以通过各种变换(旋转/平移)使得经过一条线段的左端点(...并不 ...