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)“‘名称/值’ 对”之间使用“,”(逗号) ...
随机推荐
- 画面渲染:实时渲染(Real-time Rendering)、离线渲染(Offline Rendering)[转]
实时渲染(Real-time Rendering) 实时渲染的本质就是图形数据的实时计算和输出.最典型的图形数据源是顶点.顶点包括了位置.法向.颜色.纹理坐标.顶点的权重等.在第一代渲染技术中(198 ...
- Thinkphp框架下PHPExcel实现Excel数据的批量化导入导出
第一步:下载官方的PHPExcel文件,下载地址https://github.com/PHPOffice/PHPExcel 第二步:解压打开,将PHPExcel\Classes\全部文件拷贝到thin ...
- html如何绘制带尖角(三角)的矩形
结合实际情况自己写的: .menu_triangle { height: 10px; width: 10px; background-color: #049888; transform: transl ...
- wordpress---page页面数据调用
在wordpress的开发中,会使用wordpress的的页面,那么页面数据该怎么调用呢? 拿到页面的 content: <?php if(have_posts()) : ?> <? ...
- Java-01-问题解答
问题一:Java类文件是否只能有一个公有类? 1测试代码: //信1603 李敦岳 20163520 //测试Java是否只能有一个公有类 //2017.10.2 public class Test ...
- ubuntu16.04下笔记本电脑扩展双屏安装过程
想给笔记本电脑外界一个显示屏,因为科研需要,我的笔记本是windows10加Ubuntu16.04双系统,主要使用Ubuntu系统. 首先是硬件 一个外置显示屏是必须的了,然后我的笔电上只有HDMI接 ...
- POJ 1849 - Two - [DFS][树形DP]
Time Limit: 1000MS Memory Limit: 30000K Description The city consists of intersections and streets t ...
- Python:fromkeys()方法
简介 Python 字典(Dictionary) fromkeys() 函数用于创建一个新字典,以序列seq中元素做字典的键,value为字典所有键对应的初始值. 语法 fromkeys()方法语法: ...
- Taking a peek inside with the Actuator
Taking a peek inside with the Actuator <dependency> <groupId>org.springframework.boot< ...
- iOS-绘图之CoreGraphics框架
第一步:先科普一下基础知识: Core Graphics是基于C的API,可以用于一切绘图操作 Core Graphics 和Quartz 2D的区别 quartz是一个通用的术语,用于描述在iOS和 ...