一、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. nose测试中修改nose_html_reporting插件,使生成的html报告加入显示截图功能

    使用nose框架在测试WEB UI自动化时,使用了第三方插件nose-html-reporting,来生成HTML报告,nose-html-reporting具体使用参见管网https://pypi. ...

  2. thinkCMF----列表页跳转

    thinkCMF列表循环有个:用来循环文章列表. <php> $where=[ 'post.create_time'=>['egt',0] ]; $page=[ 'list_rows ...

  3. 远程服务器git搭建

    在远程服务器如:/var/www下创建hello.git 然后git init --bare hello.git cd hello.git会看到下面的目录和文件 然后创建可以访问git的用户 git ...

  4. Python面向对象之字段

    类成员: 字段,方法,属性 属性是在一个函数方法前面加一个装饰器,伪造成为一个字段,调用的时候不需要加括号() 目的是把一个方法伪造成为一个字段,属性也是方法的一种,对这个方法进行改造就可以以 字段的 ...

  5. codeforces#518 Div2 ABCDE

    A---Birthday http://codeforces.com/contest/1068/problem/A 题意: 有n种硬币,m个人.m个人要给Ivan送硬币,每个人送的硬币都要互不相同但数 ...

  6. POJ 2914 - Minimum Cut - [stoer-wagner算法讲解/模板]

    首先是当年stoer和wagner两位大佬发表的关于这个算法的论文:A Simple Min-Cut Algorithm 直接上算法部分: 分割线 begin 在这整篇论文中,我们假设一个普通无向图G ...

  7. Hive之import和export使用详解

    在hive-0.8.0后引入了import/export命令. Export命令可以导出一张表或分区的数据和元数据信息到一个输出位置,并且导出数据可以被移动到另一个hadoop集群或hive实例,并且 ...

  8. Rhino

    http://shrinksafe.dojotoolkit.org/ a JavaScript interpreter

  9. lamp docker apache2 supervisor monitor

    sudo docker run -d -p 80:80 -p 3306:3306 -v /data/lampp/supervisormonitor:/app --name mylamp01 tutum ...

  10. 很多人以为 connect 和 disconnect 应该像 new 和 delete 一样成对出现 这是错误的(只要 sender 或 receiver 其中之一不存在了,connect 会自动失效。QObject::connect 函数是线程安全的)

    其实我写文章也是边查资料边编辑的 有时候是怕自己的阐述不严谨,有时候是怕自己重复造轮子 就像有些人不停的教大家QLabel QDialog QWidget 个人是不屑的 命令模式 用 Qt's Und ...