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)“‘名称/值’ 对”之间使用“,”(逗号) ...
随机推荐
- dhroid - NetJSONAdapter 网络化的adapter
关于adapter 我想对于大家来说已经不陌生了,基本应用都会用的很多,不知道现在你是不是还是按一定的套路写很多代码去实现adapter我想大多数人还是写个adapter继承自baseadapter ...
- PHPStorm 注册码&主题皮肤
JetBrains PhpStorm 注册方法: 用浏览器打开 http://idea.lanyus.com/ 点击页面中的“获得注册码” 然后打开PhpStorm,在注册时切换至Activation ...
- thinkCMF----自定义配置调用
有些时候,需要在后台给网站一些其他的配置: 这个配置,一般都是通过修改代码实现的,ThinkCMF本身没有这个配置: 找到site.html 增加一个Group就可以: 在配置里面做相应的配置就可以:
- php curl常见错误:SSL错误、bool(false)
症状:php curl调用https出错 排查方法:在命令行中使用curl调用试试. 原因:服务器所在机房无法验证SSL证书. 解决办法:跳过SSL证书检查. curl_setopt($ch, CUR ...
- Oracle数据库查询表信息/列信息(列ID/列名/数据类型/长度/精度/是否可以为null/默认值/是否自增/是否是主键/列描述)
查询表信息(表名/表描述) Select table_Name As Name,Comments As Value From User_Tab_Comments Where table_Type='T ...
- vue报错 Module not found: Error: Cannot resolve 'file' or 'directory'
炸了,我好写sell而组件,直接就用了,我的天哪 看你的写了吗,就用: Module not found: Error: Cannot resolve 'file' or 'directory' 页另 ...
- DS作业·写了一个链表
用struct手写了个list 有push_back,push_front,insert,erase reserve,size,setpos,rbegin 功能. 坑:一开始想用template< ...
- FZU - 2150 Fire Game bfs+双起点枚举
题意,10*10的地图,有若干块草地“#”,草地可以点燃,并在一秒后点燃相邻的草地.有墙壁‘·‘阻挡.初始可以从任意两点点火.问烧完最短的时间.若烧不完输出-1. 题解:由于100的数据量,直接暴力. ...
- FMOD变声如何捕获并存储处理音效之后的数据
类似AVAudioEngine的功能,一个Engine可以将N个connect连接(串联和并联)在一起,这样来实现多个输入源,多层处理效果的混合输出.实现这个所需功能也是通过这样的方案来实现的.也就是 ...
- iOS-多语言版本开发(二)(转载)
题记 iOS 多语言版本的开发(一) 中我们完成了让应用跟随系统语言进行切换,而用户自己却不能切换的功能,也基本上算是实现了多语言版本:可是,对于某些应用来说,实现跟随系统语言切换的同时, 也想要 ...