java pojo 转 map_JSON和JAVA的POJO的相互转换

正在做一个进销存的项目,为了JSON和JAVA的POJO之间转换,很费劲啊,

上传,以备以后有用!

importjava.util.Collection;importjava.util.HashMap;importjava.util.Map;importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;/*** JSON和JAVA的POJO的相互转换

*

*@authorptah 2009-10-16 JSONUtil.java*/publicfinalclassJSONUtil {//将String转换成JSONpublicstaticString string2json(String key, String value) {

JSONObject object=newJSONObject();

object.put(key, value);returnobject.toString();

}//将JSON转换成数组,其中valueClz为数组中存放的对象的ClasspublicstaticObject json2Array(String json, Class valueClz) {

JSONArray jsonArray=JSONArray.fromObject(json);returnJSONArray.toArray(jsonArray, valueClz);

}//将Collection转换成JSONpublicstaticString collection2json(Object object) {

JSONArray jsonArray=JSONArray.fromObject(object);returnjsonArray.toString();

}//将JSON转换成Collection,其中collectionClz为Collection具体子类的Class,//valueClz为Collection中存放的对象的ClasspublicstaticCollection json2Collection(String json, Class collectionClz,

Class valueClz) {

JSONArray jsonArray=JSONArray.fromObject(json);returnJSONArray.toCollection(jsonArray, valueClz);

}//将数组转换成JSONpublicstaticString array2json(Object object) {

JSONArray jsonArray=JSONArray.fromObject(object);returnjsonArray.toString();

}

//将Map转换成JSONpublicstaticString map2json(Object object) {

JSONObject jsonObject=JSONObject.fromObject(object);returnjsonObject.toString();

}//将JSON转换成Map,其中valueClz为Map中value的Class,keyArray为Map的keypublicstaticMap json2Map(Object[] keyArray, String json, Class valueClz) {

JSONObject jsonObject=JSONObject.fromObject(json);

Map classMap=newHashMap();for(inti=0; i

classMap.put(keyArray[i], valueClz);

}return(Map) JSONObject.toBean(jsonObject, Map.class, classMap);

}//将POJO转换成JSONpublicstaticString bean2json(Object object) {

JSONObject jsonObject=JSONObject.fromObject(object);returnjsonObject.toString();

}//将JSON转换成POJO,其中beanClz为POJO的ClasspublicstaticObject json2Object(String json, Class beanClz) {returnJSONObject.toBean(JSONObject.fromObject(json), beanClz);

}//将JSON转换成StringpublicstaticString json2String(String json, String key) {

JSONObject jsonObject=JSONObject.fromObject(json);returnjsonObject.get(key).toString();

}

}

转载:http://nweiren.javaeye.com/category/82599?show_full=true

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/411053.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 说说你对abbr标签的理解,它有什么含义?

[html] 说说你对abbr标签的理解,它有什么含义? 缩略词个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

静,动态数组总结

本文转自万一老师的博客 原文出处: http://www.cnblogs.com/del/category/114641.html静态数组的定义方法: //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&l…

java tomcat jms_JavaWeb之使用Tomcat、JNDI与ActiveMQ实现JMS消息通信服务

前言之所以使用JNDI 是出于通用性考虑&#xff0c;该例子使用JMS规范提供的通用接口&#xff0c;没有使用具体JMS提供者的接口&#xff0c;这样可以保证我们编写的程序适用于任何一种JMS实现(ActiveMQ、HornetQ等)。什么是JNDI&#xff1a;JNDI(Java Naming and Directory Inte…

[html] HTML5的触屏事件有哪些?

[html] HTML5的触屏事件有哪些&#xff1f; touchstart 触摸开始 touchmove 接触点移动&#xff08;手指不离开屏幕&#xff09; touchend 触摸结束 touchcancel 触摸被取消个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很…

你是第几名:Excel 中 Large 和 Small 的用法

类似于 SQL 语言中的 TOP X, Large 和Small 有2个参数 Large(Array,k) Array 可以为一个单元格区域&#xff0c;k 为第k各最大值&#xff0c;Small 与之对应返回第k个最小值。 注意&#xff1a;单元格区域中的非数字会被忽略掉。 例子如下&#xff1a; 可以类比Rank的用法&…

mac系统下android studio创建手机模拟器

打开android studio&#xff0c;点击右上角的模拟器图标&#xff0c;打开“Android Virtual Device Manager” 窗口&#xff0c;如下图 点击“Create Virtual Device”&#xff0c;在打开的设备定义列表中&#xff0c;选择“Phone -> Nexus 5X”&#xff0c;右边列出了改机型…

java wait 参数_Java sleep()和wait()的区别

一、什么是sleep()?sleep()是Thread类的方法&#xff0c;导致线程暂停执行的时间&#xff0c;给其他线程执行机会&#xff0c;但是依然保持监控状态&#xff0c;过了指定时间会自动恢复执行&#xff0c;调用sleep()方法不会释放锁对象。当调用sleep()方法后&#xff0c;当前线…

[html]html实现页面跳转都有哪些方法?

[html]html实现页面跳转都有哪些方法&#xff1f; 创建A标签跳转location.hrefform submit<meta http-equiv"refresh" content"5;urlother.html">window.history个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c…

如何设置Hyper-V的虚拟机快捷方式

在Windows Server 2008中&#xff0c;提供的Hyper-V功能&#xff0c;可以很方便地在企业环境中部署多个虚拟机&#xff0c;以适应不同的开发需要。一般我们都是通过下面的方式 1. 打开服务器管理器 2.打开Hyper-V管理器&#xff0c;找到有关的虚拟机&#xff0c;然后右键点击“…

使用 keytool 生成安卓应用程序签名

下载 keytool jar包&#xff1b; 解压jar包到固定目录 如&#xff1a; cd /Library/Java/JavaVirtualMachines/ 进入到jar包目录: cd /Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home 输入keytool&#xff0c;可以查看各种命令。 执行&#xff1a; keytool -…

java 音频对比_java – 比较两个不同的音频文件不起作用

我想比较两个音频文件,例如mp3和wav.我使用musicg来比较指纹.Wave record1 new Wave(music1.toString());Wave record2 new Wave(music2.toString());FingerprintSimilarity Similarityrecord1.getFingerprintSimilarity(record2);System.out.println(Similarity.getSimilari…

[html] 如何在页面引用外部的html页面?

[html] 如何在页面引用外部的html页面&#xff1f; 1.是完整的页面。拥有header&#xff0c;body。使用<iframe> 2.是一个页面片段。使用get请求。或者使用<link ref"import" href"some.html">个人简介 我是歌谣&#xff0c;欢迎和大家一起交…

解析C#中is和as操作符的用法 two

c# 中 is和as 操作符是用来进行强制类型转换的 is : 检查一个对象是否兼容于其他指定的类型,并返回一个Bool值,永远不会抛出异常 objecto newobject(); if(o isLabel) { Label lb (Label)o; Response.Write("类型转换成功"); } else{ …

java跨函数跳转_VS code 函数无法跨文件跳转到定义

现状&#xff1a;本文件函数通过this打点调用的函数&#xff0c;引入绝对路径的文件&#xff0c;调用的函数都可以通过Ctrl 点击 实现跳转到定义处。而如果在 webpack 通过alias 设置了别名&#xff0c;无法跳转成功。解决方案: 新建文件 jsconfig.json&#xff0c;配置如下。…

uname命令

uname命令用于打印当前系统相关信息&#xff08;内核版本号、硬件架构、主机名称和操作系统类型等&#xff09;。 语法 uname(选项) 选项 -a或--all&#xff1a;显示全部的信息&#xff1b; -m或--machine&#xff1a;显示电脑类型&#xff1b; -n或-nodename&#xff1a;显示在…

std::map用法总结

给出了map的基本用法如插入、查找、删除、遍历等等&#xff0c;同时告诉你如何实现双键map&#xff0c;包括 (1) 只有两个键都匹配才命中目标(2) 两个键中任意一个匹配就命中目标 可以扩展到多键(一) 介绍特点&#xff1a;1.map将Key的object和T的Object绑定到一起&#xff0c;…

题库 java_java题库

1.public class T {int squares81;public static void main(String[] args) {new T().go();}void go(){incr(squares);System.out.println(squares);}void incr(int squares){squares10;}返回值为82&#xff0c;没有改变squares的值&#xff0c;不是引用传递不是c2.建个test类 …

Javascript弹出div层

这是一个DIV弹窗效果!将鼠标移动到此 点击这里查看弹出窗口 这是文章“JavaScript弹出窗口DIV层效果代码”的演示页面&#xff0c;点这里查看原文&#xff01; 转载于:https://www.cnblogs.com/xxxxx/archive/2010/05/22/1741707.html