ps:看这篇博客之前首先要引入工具包json-lib-2.2.2-jdk15.jar

  资源链接:百度云:链接:https://pan.baidu.com/s/1o9k7PSu 密码:00lj

一、从Object到String

  要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可

  (1)示例一

Book book=new Book();
book.setName("Java");
book.setPrice(52.3f);
JSONObject object=JSONObject.fromObject(book);
System.out.println(object.toString());

  (2)示例二

Book book=new Book();
book.setName("Java");
book.setPrice(52.3f); Book book2=new Book();
book2.setName("C");
book2.setPrice(42.3f);
List list=new ArrayList();
list.add(book);
list.add(book2);
JSONArray arry=JSONArray.fromObject(list);
System.out.println(arry.toString());
//结果如下:
[{"name":"Java","price":52.3},{"name":"C","price":42.3}]

二、从String到Object

  要先用String对象构造一个JSONObject或者JSONArray对象

  (1)示例一

String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
System.out.println(object.get("name")+" "+object.get("price"));

  (2)示例二

String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
for(int i=0;i<array.size();i++){
Map o=(Map)array.get(i);
System.out.println(o.get("name")+" "+o.get("price"));
}

三、从String到Bean

  (1)单个Bean对象

String json="{name:'Java',price:52.3}";
JSONObject object=JSONObject.fromObject(json);
Product product=(Product)JSONObject.toBean(object,Product.class);
System.out.println(product.getName()+" "+product.getPrice());

  (2)Bean的数组

String json="[{name:'Java',price:52.3},{name:'C',price:42.3}]";
JSONArray array=JSONArray.fromObject(json);
Product[] products=(Product[]) JSONArray.toArray(array,Product.class);
for(Product p:products){
System.out.println(p.getName()+" "+p.getPrice());
}

三、自定义封装JSON操作的类

package com.util;

import java.util.List;
import java.util.Map; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class JsonHelper {
//从普通的Bean转换为字符串
public static String getJson(Object o){
JSONObject jo=JSONObject.fromObject(o);
return jo.toString();
}
//从Java的列表转换为字符串
public static String getJson(List list){
JSONArray ja=JSONArray.fromObject(list);
return ja.toString();
}
//从Java对象数组转换为字符串
public static String getJson(Object[] arry){
JSONArray ja=JSONArray.fromObject(arry);
return ja.toString();
}
//从json格式的字符串转换为Map对象
public static Map getObject(String s){
return JSONObject.fromObject(s);
}
//从json格式的字符串转换为List数组
public static List getArray(String s){
return JSONArray.fromObject(s);
}
//从json格式的字符串转换为某个Bean
public static Object getObject(String s,Class cls){
JSONObject jo=JSONObject.fromObject(s);
return JSONObject.toBean(jo, cls);
}
//从json格式的字符串转换为某类对象的数组
public static Object getArray(String s,Class cls){
JSONArray ja=JSONArray.fromObject(s);
return JSONArray.toArray(ja, cls);
}
}

json-lib使用——JSONObject与JSONArray的更多相关文章

  1. Java之JSON处理(JSONObject、JSONArray)

    依赖包:json-20180130.jar MAVEN地址: <dependency> <groupId>org.json</groupId> <artifa ...

  2. Fastjson, Gson, org.json.JSON三者对于JSONObject及JSONArray的判断

    1.Fastjson 我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object = JSON.parse(a); ...

  3. json字符串转JSONObject和JSONArray以及取值

    import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class JsonTest { public static v ...

  4. json字符串转换为JSONObject和JSONArray

    一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String ...

  5. [转] json字符串转换为JSONObject和JSONArray

    一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String ...

  6. json学习系列(6)JSONObject和JSONArray是JDK的集合部分延伸

    我一直觉得JSONObject和JSONArray是JDK集合部分的延伸,它们与JDK的List和Map一脉相承.通过研究JSONObject和JSONArray的结构,我们顺便也复习一下JDK的内容 ...

  7. json:JSONObject与JSONArray的使用

    1.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons ...

  8. String类型转json 转JSONObject 转 JSONArray 以及 遍历

    public PageVo getByPage(int pageNum, int pageSize) { PageVo pageVo = new PageVo(); System.out.printl ...

  9. android 读取json数据(遍历JSONObject和JSONArray)(转)

    public String getJson(){ String jsonString = "{\"FLAG\":\"flag\",\"MES ...

  10. [转]java中JSONObject与JSONArray的使用详细说明及有关JSON的工具类

    JSONObject与JSONArray的使用 一.JAR包简介 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: 1.commons-lang.jar 2.c ...

随机推荐

  1. [翻译][HTML]CELLPADDING and CELLSPACING

    w3school手册:http://www.w3schools.com/tags/att_table_cellspacing.asp 一直以来都发现自己对cellpadding&cellspa ...

  2. delphi字符串固定长度换行

    var   str,capstr:string;   i,j:integer;   .................... j:=500;   //这个地方可能要根据你显示的宽度来换算对应的字符长度 ...

  3. linux系统编程之信号(一):中断与信号

    一,什么是中断? 1.中断的基本概念 中断是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被 ...

  4. BigData – Join中竟然也有谓词下推!?

    本文由  网易云发布. 在之前的文章中简要介绍了Join在大数据领域中的使用背景以及常用的几种算法-broadcast hash join .shuffle hash join以及 sort merg ...

  5. Python 获取主机名

    import socket print socket.gethostname()

  6. JQuery Mobile - 如何让listview不显示向右的箭头?

    先看一下有向右箭头的截图吧 这个listview第二个项目,就有向右的箭头,如果单纯显示具体数据,没有扩展显示的内容,那么这个向右的箭头就是多余的,在这种情况下,最好是去掉这个向右箭头,程序中已经在第 ...

  7. Servlet实现session读写

    前言     一个女人让他的程序员丈夫去商店买东西:你去附近的商店买些面包,如果有鸡蛋的话,买6个回来,这个丈夫买了6个面包回来,他的妻子大吃一惊:你为什么买了6个面包?! 程序员丈夫回答:因为他们有 ...

  8. Organising the Organisation(uva10766)(生成树计数)

    Input Output Sample Input 5 5 2 3 1 3 4 4 5 1 4 5 3 4 1 1 1 4 3 0 2 Sample Output 3 8 3 题意: 有一张图上有\( ...

  9. jzoj5894

    先前綴和一發,問題表示求[0-l2][0-r2]滿足條件的數的個數 假設可以把某一個數拆分成[前面任意個數][00-0-11-1(個數相同)]的區間 那麼問題會簡單的多,因為任意一個a位的整數分別xo ...

  10. 部署虚拟环境安装Linux系统

      目录                                                              准备工作 安装linux系统 重置root管理员密码 源代码编译 R ...