JSONObject和JSONArray(json-lib-2.4)的基本用法
json-lib-2.4是一个用于JSON和java对象间转换的第三方包,其jar和依赖包下载地址在:https://files.cnblogs.com/files/xiandedanteng/json-lib-2.4%26dependencies_jars.rar
下面列出了一些基本用法
1.从对象到JSON
1.1 单个对象的转化
Piece p=pieceService.getPiece(id); String json=JSONObject.fromObject(p).toString();
1.2 对象集合的转化
List<?> ls=pieceService.listAllPieces(); // ls中元素是Piece对象 JSONArray jArray=JSONArray.fromObject(ls); String json=jArray.toString();
2.JSON到对象
前台通过Ajax方式传json到后台比如像这样:
$.ajax({
url: url,// 请求的地址
contentType: "application/json; charset=utf-8",
data:{json:JSON.stringify(lines)},// 请求参数
type:"get",// 请求方式
dataType:"json",// 预期服务器返回的数据类型
success: function(resp) {
......
},
timeout: 50000,// 超时时间,超时后会调用error后的函数
error: function(xhr, textStatus, errorThrown) {
......
}
});
后台将这样得到前台送过来的参数:
String jsonString=request.getParameter("json");
而到的的jsonString是类似这样的:
[{"type":"in","pieceid":"6","count":"9","date":"09/05/2017"},{"type":"in","pieceid":"6","count":"9","date":"09/28/2017"},{"type":"in","pieceid":"6","count":"9","date":"09/28/2017"}]
后台将JSON转化为对象可以这样:
List<InoutLine> lines=new ArrayList<InoutLine>();
String jsonString=request.getParameter("json");
JSONArray json=JSONArray.fromObject(jsonString);
JSONObject jsonOne;
for(int i=0;i<json.size();i++){
jsonOne = json.getJSONObject(i);
InoutLine line=new InoutLine();
line.setType((String) jsonOne.get("type"));
line.setPieceid((String) jsonOne.get("pieceid"));
line.setCount((String) jsonOne.get("count"));
line.setDate((String) jsonOne.get("date"));
lines.add(line);
}
这样,JSON形式的字符串就变成Java里的对象了。
JSONObject和JSONArray(json-lib-2.4)的基本用法的更多相关文章
- JSONObject与JSONArray
最近在学习过程中用到了稍微复杂点的json数据需要将json数据解析出来,这里就截取一部分作为例子 1.JSONObject介绍 JSONObject-lib包是一个beans,collections ...
- json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸
我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...
- java中转换json方式(JSONArray,JSONObject),json解析
package com.yunos.tv.video.resource.controller.web; import java.util.ArrayList; import java.util.Has ...
- json:JSONObject与JSONArray的使用
1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...
- Java之JSON处理(JSONObject、JSONArray)
依赖包:json-20180130.jar MAVEN地址: <dependency> <groupId>org.json</groupId> <artifa ...
- Fastjson, Gson, org.json.JSON三者对于JSONObject及JSONArray的判断
1.Fastjson 我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object = JSON.parse(a); ...
- json字符串转JSONObject和JSONArray以及取值
import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static v ...
- [转]java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类
JSONObject与JSONArray的使用 一.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.c ...
- 011-JSON、JSONObject、JSONArray使用、JSON数组形式字符串转换为List<Map<String,String>>的8种方法
一.JSON数据格式 1.1.常用JSON数据格式 1.对象方式:JSONObject的数据是用 { } 来表示的, 例如: { "id" : "123", & ...
随机推荐
- springmvc Converter
以下,来自于Springmvc指南第二版,第93页. Spring的Converter是可以将一种类型转为另一种类型. 例如用户输入的date类型可能有多种格式. 比如:在controller中接收一 ...
- [ 总结 ] RHEL6/Centos6 使用OpenLDAP集中管理用户帐号
使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提供数据的一致性.
- javascript中模仿块级作用域
学过 javascript 的都知道 javascript 里面没有块级作用域的概念,这就意味着在块语句中定义的变量,实际上是在包含函数中而非语句中创建的,看下面的例子: function outPu ...
- docker从零开始 存储(三)bind mounts
使用bind mounts 自Docker早期以来bind mounts 一直存在.与volumes相比,绑定挂载具有有限的功能.使用bind mounts时,主机上的文件或目录将装入容器中.文件或目 ...
- poj 2242(已知三点求外接圆周长)
The Circumference of the Circle Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8310 ...
- SVN的配置和使用
1.安装前必备 获取 Subversion 服务器程序 到官方网站 http://subversion.tigris.org/ 我下的是CollabNetSubversion-server-1. ...
- sqlplus terminators - Semicolumn (;), slash (/) and a blank line
The problem here is the way SQL*Plus interprets the commands passed to it. Remember the "SQL co ...
- error和exception的区别
------解决方法--------------------------------------------------------了解异常与错误的区别,并且知道当你截获一个异常时,应该怎么办. ...
- Codeforces 138D World of Darkraft(Multi-Nim)
[题目链接] http://codeforces.com/problemset/problem/138/D [题目大意] H*W的棋盘中每个点都是L.R.X三者之一,两人轮流选一个点, 若为L则向左下 ...
- 【动态规划】【最短路】【spfa】bzoj1207 [HNOI2004]打鼹鼠
<法一>若打了一只鼹鼠后,还能打另一只,我们可以在它们之间连权值为1的边.于是答案就是 以m为终点的最长路长度+1.建反图,就是单源最长路. MLE TLE 一时爽. #include&l ...