JSON与JAVA数据的转换。JSONObject.fromObject()和JSONObject.toBean()
六个架包(666)
首先我们系统中要用到JSON解析,所以要引入这六个架包。饱饱
不引入这六个架包的话,使用JSONObject.fromObject 和 SONObject.toBean会报错,而且有的时候编译器不会告诉你是架包缺少的错误哦!
JSON 对象 与 JAVA对象的转换
JSONObject json = JSONObject.fromObject(String);//java转json
JSONObject.toBean()//json转java
(1)java对象转json对象。
——HashMap转为JSON对象:JSONObject.fromObject()
json对象又再次转换成java对象
——JSON转为Map<String,String>:JSON强制转换
栗子1
public class JSONTest
{public static void main(String[] args){HashMap<String,String> map=new HashMap<String,String>();map.put("A", "B");//map={A=B}JSONObject json = JSONObject.fromObject(map);//json={"A":"B"}System.out.println(json.toString());//{"A":"B"}//再将json强转成mapMap<String,String> map2=(Map<String,String>)json;//{"A":"B"}System.out.println(map2.toString());}
}
忽然发现两件事:
一件事:HashMap中key值相同的话,前一个会被后一个覆盖。(原谅我太渣,现在才知道)
第二件事:相比于有道笔记,饱饱更爱写CSDN啊!
public class JSONTest
{public static void main(String[] args){HashMap<String,String> map=new HashMap<String,String>();map.put("A", "B");//map={A=B}map.put("A", "C");//map={A=C}JSONObject json = JSONObject.fromObject(map);//json={"A":"C"}System.out.println(json.toString());//{"A":"C"}//再将json强转成mapMap<String,String> map2=(Map<String,String>)json;//{"A":"C"}System.out.println(map2.toString());}
}
栗子2
public class JSONTest
{public static void main(String[] args){HashMap<String,String> map=new HashMap<String,String>();map.put("A", "B");//map={A=B}map.put("C", "D");//map={A=B, C=D}JSONObject json = JSONObject.fromObject(map);//json={"A":"B","C":"D"}System.out.println(json.toString());//再将json强转成mapMap<String,String> map2=(Map<String,String>)json;//{"A":"B","C":"D"}System.out.println(map2.toString());}
}
(2)java对象转json对象。
——String转为JSON对象:JSONObject.fromObject()
json对象又再次转换成java对象
——JSON转为Map<String,Object>:JSON强制转换
mapString =
{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":"","resJson":{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":""}
}
public class JSONTest
{public static void main(String[] args){//将string类型的map数据转换为json的数据格式,在将json的数据格式的转换成java的 Map<String,Object>的数据类型String mapString = "{\"errmsg\":\"ok\",\"ErrorCode\":0,\"messageId\":\"f5d4566c4c833152b3feb42a8092ee6c\",\"invaliduser\":\"\",\"forbiddenUserId\":\"\",\"resJson\":{\"errmsg\":\"ok\",\"ErrorCode\":0,\"messageId\":\"f5d4566c4c833152b3feb42a8092ee6c\",\"invaliduser\":\"\",\"forbiddenUserId\":\"\"}}";//mapString={"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":"","resJson":{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":""}}JSONObject json = JSONObject.fromObject(mapString);//json ={"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":"","resJson":{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":""}}Map<String, Object> map = (Map<String, Object>)json;//map ={"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":"","resJson":{"errmsg":"ok","ErrorCode":0,"messageId":"f5d4566c4c833152b3feb42a8092ee6c","invaliduser":"","forbiddenUserId":""}}System.out.println("-----map:---"+map.toString());}
}
(3)java对象转json对象。
——String转为JSON对象:JSONObject.fromObject()
json对象又再次转换成java对象
——JSON转为Student对象:JSONObject.toBean()
public class JSONTest
{public static void main(String[] args){String mapString = "{id:'211415034',name:'徐妍',age:'24'}";Student student = new Student();JSONObject json = JSONObject.fromObject(mapString);//json={"id":"211415034","name":"徐妍","age":"24"}student = (Student)JSONObject.toBean(json, Student.class);//曾经的学号:211415034 姓名:徐妍 年龄:24//JSONObject.toBean() 方法意为:从JSONObject 对象转换为 JAVA 对象。System.out.println(student);}
}
public class Student
{private int id;private String name;private int age;public int getId(){return id;}public void setId(int id){this.id = id;}public String getName(){return name;}public void setName(String name){this.name = name;}public int getAge(){return age;}public void setAge(int age){this.age = age;} public String toString(){return "曾经的学号:"+this.id+" 姓名:"+this.name+" 年龄:"+this.age;}
}
JSON与JAVA数据的转换。JSONObject.fromObject()和JSONObject.toBean()相关推荐
- JSON与JAVA数据的转换
JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean. 下载地址:http://json-lib.sourceforge.net ...
- json 转换 java odl_JSON与JAVA数据的转换
1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "secon ...
- JSON与JAVA数据的相互转换(基本应用)
下载json及其依赖包: jsonXXX.jar:http://sourceforge.net/projects/json-lib/files/ ezmorph-1.0.1.jar http://ez ...
- php自动转换和强制转换,Java数据类型转换(自动转换和强制转换)
数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中"悄然"进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转 ...
- iOS --- 使用NSJSONSerialization来解析JSON格式的数据
iOS中对JSON格式的解析通常可以采用NSJSONSerialization来实现. 如,我们可以用个简答的HTTP请求的方式获取JSON数据,(以下都是在playground中写的) var ur ...
- JAVA对象JSON数据互相转换的四种常见情况
这篇文章主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下 1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码代码如下: JSONArray ...
- java数据文本格式转换_SpringMVC中Json数据格式转换
1 @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为js ...
- 【Java】json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理)
[Java]json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理) 模拟请求API 获得json数据,将json转换为java对象,再将java对象转换为list集合,再将list ...
- java集合转js数值,基于jsTree的无限级树JSON数据的转换
评论 # re: 基于jsTree的无限级树JSON数据的转换 回复 更多评论 exttree最好了!配合dwr ok 2009-05-05 22:50 | 大罗卜 # re: 基于jsTree的 ...
- java异步请求显示数据格式_JSON(四)——异步请求中前后端使用Json格式的数据进行交互...
json格式的数据广泛应用于异步请求中前后端的数据交互,本文主要介绍几种使用场景和使用方法. 一,json格式字符串 functionsentAjax(){ $.ajax({ type:'POST', ...
最新文章
- double int char 数据类型
- WMI技术介绍和应用——Event Provider
- R构建分位数回归模型(Quantile Regression)
- 【LeetCode】121.买卖股票的最佳时机
- shell 脚本调试
- 别名的应用(New-Alias)
- 上古卷轴5python_基于Python-Flask的权限管理5:字典管理
- 无线光通信-CDMA中闭环链路的功率控制误差
- c++ using 前置声明_C++ 类声明 类前置声明范例
- 浏览器老是自动跳出广告垃圾网页
- 河南版权登记,给自己的“孩子”一个身份证
- 深度解密Go语言之context
- 工作234:按钮禁用
- TensorFlow中Variable()和get_variable()
- (大数据工程师学习路径)第五步 MySQL参考手册中文版----MySQL视图
- mysql 日志文件_Mysql 日志文件类型
- RabbitMQ消费端自定义监听器DefaultConsumer
- 二次规划与非线性规划及matlab应用
- 阿里云加速器拉取tomcat
- Java日期计算总结(包含工作日排除节假日)