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", & ... 
随机推荐
- (一)lua基础语法
			1.从hellowrold开始 --语法和Python比较类似,直接像Python一样使用print即可 --这里我可以直接写中文,显然被当成了注释.在lua中,两个-表示注释 --[[ 这种形式可以 ... 
- python的加密算法(1):反转加密
			说白了,就是把字符串倒序. 在js里,有一个reverse.但是python中没有. 不过,有一个更简单的方法,就是: ‘abcd’ [::-1] 这里,具体解释一下: (参看:https://doc ... 
- 操作Image,封装的方法
			using System; using System.Collections; using System.IO; using System.Drawing; using System.Drawing. ... 
- (2)java安装配置
			java 分为三大类 javasSE,javaEE,javaME. javaSE:一般用于开发桌面软件,是java EE的基础类库 javaEE:用于开发网站 javaME:手机软件程序 javaSE ... 
- 区间DP【p4290】[HAOI2008]玩具取名
			Description 某人有一套玩具,并想法给玩具命名.首先他选择WING四个字母中的任意一个字母作为玩具的基本名字.然后他会根据自己的喜好,将名字中任意一个字母用"WING"中 ... 
- 简单的INSERT语句
			INSERT INTO 语句用来向数据表中插入数据,比如执行下面的语句就可以向T_Person表中插入一条数据: INSERT INTO T_Person(FName,FAge,FRemark) VA ... 
- 【二分答案】【分块答案】【字符串哈希】【set】bzoj2946 [Poi2000]公共串
			我们二分/分块枚举答案x,暴力把除了最短的字符串以外的其他字符串的x长度子串哈希搞出来,分别扔到set里. 然后暴力枚举最短的字符串的x长度字串,查看是否在全部的set里出现过. #include&l ... 
- centos7下解决python3和python2同时存在但是无法使用pip3的问题
			一.首先,官网下载python3的所需版本. wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 想下载到那个文件夹下就先进入到 ... 
- C#SerialPort实现串口控制继电器
			最近做了一个小系统,麻雀虽小五脏俱全呀,用到各种线程控制,串口控制等技术.其中串口控制最麻烦,因为继电器的响应很快,根据不同的转接口,返回的数据质量是不一样的,所以不能直接wirte,然后马上read ... 
- iOS 修改APP工程名字
			我们在iOS开发中,难免会遇到项目做到一半要改名字的情况.如果项目名差的太大,工程名看起来总是不舒服的,就会想着为工程改个贴切的名字,那么你就为用到本文记录的内容. 如何修改工程名呢? 下面我就拿一个 ... 
