文档章节

Java操作json的通用类

lgscofield
 lgscofield
发布于 2015/06/26 13:58
字数 338
阅读 13
收藏 1
点赞 0
评论 0

提供一个Java中操作JSON格式的公共类:

 

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 它易于人阅读和编写,同时也易于程序解析和生成,相比XML它的体积更小。首先需要自己下载并引入JSON-lib包,JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包。

import java.util.HashMap; 
import java.util.Map; 
import net.sf.json.JSONArray; 
import net.sf.json.JSONObject;
public final class JSONUtil {
 
    // 将String转换成JSON 
    public static String string2json(String key, String value) { 
        JSONObject object = new JSONObject(); 
        object.put(key, value); 
        return object.toString(); 
    }
 
    // 将数组转换成JSON 
    public static String array2json(Object object) { 
        JSONArray jsonArray = JSONArray.fromObject(object); 
        return jsonArray.toString(); 
    }
 
    // 将Map转换成JSON 
    public static String map2json(Object object) { 
        JSONObject jsonObject = JSONObject.fromObject(object); 
        return jsonObject.toString(); 
    }
 
    // 将domain对象转换成JSON 
    public static String bean2json(Object object) { 
        JSONObject jsonObject = JSONObject.fromObject(object); 
        return jsonObject.toString(); 
    }
 
    // 将JSON转换成domain对象,其中beanClass为domain对象的Class 
    public static Object json2Object(String json, Class beanClass) { 
        return JSONObject.toBean(JSONObject.fromObject(json), beanClass); 
    }
 
    // 将JSON转换成String 
    public static String json2String(String json, String key) { 
        JSONObject jsonObject = JSONObject.fromObject(json); 
        return jsonObject.get(key).toString(); 
    } 

    // 将JSON转换成数组,其中valueClass为数组中存放对象的Class 
    public static Object json2Array(String json, Class valueClass) { 
        JSONArray jsonArray = JSONArray.fromObject(json); 
        return JSONArray.toArray(jsonArray, valueClass); 
    }

    // 将JSON转换成Map,其中valueClass为Map中value的Class,keyArray为Map的key 
    public static Map json2Map(Object[] keyArray, String json, Class valueClass) { 
        JSONObject jsonObject = JSONObject.fromObject(json); 
        Map classMap = new HashMap();
 
        for (int i = 0; i < keyArray.length; i++) { 
            classMap.put(keyArray[i], valueClass); 
        } 
        return (Map) JSONObject.toBean(jsonObject, Map.class, classMap); 
    }
}

 

本文转载自:http://lgscofield.iteye.com/blog/1849327

共有 人打赏支持
lgscofield

lgscofield

粉丝 20
博文 140
码字总数 63036
作品 0
南京
架构师

暂无文章

istio源码分析之pilot-discovery模块分析

本文分析的istio代码版本为0.8.0,commit为0cd8d67,commit时间为2018年6月18日。 本文为Service Mesh深度学习系列之一: Service Mesh深度学习系列part1—istio源码分析之pilot-agent模块分...

xiaomin0322
10分钟前
0
0
数据库基本操作:增删改查及联表操作

所用软件:SQL Server Management Studio 首先第一步,建立一个表。在这里命名为T1。并在里面填入几条数据。如图: T1 一.查询 查询所有:select * from T1; 按条件查询:select * from T1 ...

小_橙_子
14分钟前
0
0
Crontab作业时间设置

今天,遇到这么一个题目,周一到周五的9:00-16:59之间,每隔两分钟将某个命令运行一次。给的答案是: */2 9-16 * * 1-5 /usr/sbin/somecommand dosomething 乍一看,这个答案不对,应...

大别阿郎
18分钟前
0
0
ES17-JAVA API文档管理

1.保存文档 可以通过json工具把java对象转换成json字符串进行保存,也可以通过内置的帮助类直接构建json格式 /** * 获取客户端 * * @return */public static TransportClie...

贾峰uk
19分钟前
0
0
Python代码规范和命名规范

前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头...

blackfoxya
22分钟前
0
0
联动滑动之一:NestScrollChild和NestedScrollingParent

NestScrollChild和NestedScrollingParent 吐槽一下开源中国竟然标题字数有限制 由于项目中使用了CoordinateLayout来解决联动以及实现炫酷的UI效果,那么必须就要研究一波源码了,毕竟知其然知...

JerryLin123
39分钟前
1
0
cloudera spark2.2 读写hbase

cloudera spark2.2 读写hbase 例子 host = 'bigdata-03,bigdata-05,bigdata-04'conf = { "hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": "student1"}k......

osenlin
44分钟前
0
0
数据库规范化

转载自 一个小时学会MySQL数据库 地址:http://www.cnblogs.com/best/p/6517755.html 截取其中 1.4 部分 用于自己学习使用 感谢作者:张果 1.4、数据库规范化 经过一系列的步骤,我们现在终于...

十万猛虎下画山
44分钟前
0
0
ios逆向之工具篇

Reveal:查看任意app的UI结构 注:1.不越狱的手机,可以用Reveal来查看自己app的UI结构,不能查看其它app的结构。 2.越狱手机上可以查看任意app的UI结构。 IDA:反编译工具 从App Store下载的...

HeroHY
45分钟前
0
0
EOS区块链平台智能合约示例HelloWorld

我们将介绍一个使用EOS智能合约构建hello World的例子。 一般环境设置通过上一篇文章已经说明,这方面的问题大家可以看本博客上一篇文章,本文引用了官方EOS在Git上的示例。 运行nodeos 要通...

笔阁
47分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部