json-lib基础
一、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基础的更多相关文章
- [BS-12] JSON的基础知识--百科
JSON的基础知识--百科 http://baike.baidu.com/view/136475.htm
- Json lib集成stucts2的使用方法 抛出 NestableRuntimeException异常的解决办法
首先贴出struts 2.3.16需要导入的包 因为使用的是2.3 版本,必须要导入这个包,否则会报java.lang.NoClassDefFoundError: org/apache/commons ...
- 使用JsonConfig控制JSON lib序列化
将对象转换成字符串,是非常常用的功能,尤其在WEB应用中,使用 JSON lib 能够便捷地完成这项工作.JSON lib能够将Java对象转成json格式的字符串,也可以将Java对象转换成xml格 ...
- Atitit.json类库的设计与实现 ati json lib
Atitit.json类库的设计与实现 ati json lib 1. 目前jsonlib库可能有问题,可能版本冲突,抛出ex1 2. 解决之道:1 2.1. 自定义json解析库,使用多个复合的js ...
- JSON教程基础
一.基础简介 二.JSON 语法 三.JSON 使用 一.基础简介 1.JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本 ...
- python操作json数据格式--基础
非常基础的json库的用法,后续添加数据格式.编码等内容 参考文章 json进阶 Python的json模块提供了一种很简单的方式来编码和解码JSON数据. 其中两个主要的函数是 json.dumps ...
- JSON相关基础知识
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- IOS SWIFT 网络请求JSON解析 基础一
前言:移动互联网时代,网络通信已经是手机端必不可少的功能.应用中也必不可少地使用了网络通信,增强客户端与服务器交互.使用NSURLConnection实现HTTP的通信.NSURLConnection ...
- JSON lib 里JsonConfig详解
一,setCycleDetectionStrategy 防止自包含 /** * 这里测试如果含有自包含的时候需要CycleDetectionStrategy */ public static void ...
- Json数组基础知识
1.对象是一个无序的“‘名称/值’对”集合. (1)一个对象以“{”(左括号)开始,“}”(右括号)结束. (2)每个“名称”后跟一个“:”(冒号): (3)“‘名称/值’ 对”之间使用“,”(逗号) ...
随机推荐
- [NHibernate] Guid 作主键速度超慢的背后
http://blog.csdn.net/educast/article/details/6602353 最近遇到了一个让人抓狂的性能问题.生产环境里有一张表的数据量目前达到了 70 万条.结果发现无 ...
- NodeJS 实现基于 token 的认证应用
此段摘自 http://zhuanlan.zhihu.com/FrontendMagazine/19920223 英文原文 http://code.tutsplus.com/tutorials/tok ...
- iOS8新特性(2)——UIPopoverController和UIPresentationController
一.以往使用 UIPopoverController 都是只在iPad上使用 /** * UIPopoverController 只能用于iPad,上,iPhone上使用会崩溃 */ -(void)o ...
- uid列表来讲讲我是如何利用php数组进行排重的
经常接到要对网站的会员进行站内信.手机短信.email进行群发信息的通知,用户列表一般由别的同事提供,当中难免会有重复,为了避免重复发送,所以我在进行发送信息前要对他们提供的用户列表进行排重. 假如得 ...
- hdu1540 Tunnel Warfare【线段树】
During the War of Resistance Against Japan, tunnel warfare was carried out extensively in the vast a ...
- POJ 2987 - Firing - [最大权闭合子图]
题目链接:http://poj.org/problem?id=2987 Time Limit: 5000MS Memory Limit: 131072K Description You’ve fina ...
- SQL Fundamentals: 表的创建和管理(表的基本操作,闪回技术flashback,表结构修改)
SQL Fundamentals || Oracle SQL语言 1.表的基本操作 (CREATE TABLE, DROP TABLE,TRUNCATE TABLE, RENAME tablename ...
- CodeForces - 586C Gennady the Dentist 模拟(数学建模的感觉)
http://codeforces.com/problemset/problem/586/C 题意:1~n个孩子排成一排看病.有这么一个模型:孩子听到前面的哭声自信心就会减弱:第i个孩子看病时会发出v ...
- 使用Maven导出项目依赖的jar包
步骤1.进入项目目录(有pom.xml的目录) 2.创建存放导出jar依赖包的目录 3.地址栏输入cmd,回车 4.输入导出命令,回车mvn dependency:copy-dependencies ...
- postgreSQL 自增需要使用序列
postgreSQL 自增需要使用序列 1.使用SERIAL CREATE TABLE users ( id SERIAL4 primary key , name character varying, ...