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里的对象了。 















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/xiandedanteng/p/7610770.html,如需转载请自行联系原作者


相关文章
|
4月前
|
存储 JSON 前端开发
JSON数组的概念、语法和用法
JSON数组的概念、语法和用法
199 3
|
2月前
|
存储 JSON 算法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
37 0
|
2月前
|
存储 JSON 算法
C++ JSON库 nlohmann::basic_json::binary_t的用法
C++ JSON库 nlohmann::basic_json::binary_t的用法
33 0
|
2月前
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::binary 的用法
C++ JSON库 nlohmann::basic_json::binary 的用法
26 0
|
2月前
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::begin() 的用法
C++ JSON库 nlohmann::basic_json::begin() 的用法
24 0
|
2月前
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::array 的用法
C++ JSON库 nlohmann::basic_json::array 的用法
56 1
|
2月前
|
JSON 数据格式 C++
C++ JSON库 nlohmann::basic_json::accept的用法
C++ JSON库 nlohmann::basic_json::accept的用法
33 1
|
7月前
|
JSON Java 数据格式
【Java用法】Java读取本地文件内容,如txt, json等多种文件
【Java用法】Java读取本地文件内容,如txt, json等多种文件
66 0
|
9月前
|
JSON Java Maven
GSON的用法(处理对象和JSON的相互转化)
GSON的用法(处理对象和JSON的相互转化)
149 0
|
12月前
|
JSON JavaScript 前端开发
C++ Json工具--Jsoncpp用法简介
Json简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式,可读性强,易扩展,很适合做通信协议,下面主要介绍一款C++的Json库:Jsoncpp.
773 0