六个架包(666)

首先我们系统中要用到JSON解析,所以要引入这六个架包。饱饱

不引入这六个架包的话,使用JSONObject.fromObject  和 SONObject.toBean会报错,而且有的时候编译器不会告诉你是架包缺少的错误哦!

JSON 对象  与  JAVA对象的转换

  1. JSONObject   json = JSONObject.fromObject(String);//java转json

  2. 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()相关推荐

  1. JSON与JAVA数据的转换

    JSON-lib这个Java类包用于把bean,map和XML转换成JSON并能够把JSON转回成bean和DynaBean. 下载地址:http://json-lib.sourceforge.net ...

  2. json 转换 java odl_JSON与JAVA数据的转换

    1. List集合转换成json代码 List list = new ArrayList(); list.add( "first" ); list.add( "secon ...

  3. JSON与JAVA数据的相互转换(基本应用)

    下载json及其依赖包: jsonXXX.jar:http://sourceforge.net/projects/json-lib/files/ ezmorph-1.0.1.jar http://ez ...

  4. php自动转换和强制转换,Java数据类型转换(自动转换和强制转换)

    数据类型的转换,分为自动转换和强制转换.自动转换是程序在执行过程中"悄然"进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转 ...

  5. iOS --- 使用NSJSONSerialization来解析JSON格式的数据

    iOS中对JSON格式的解析通常可以采用NSJSONSerialization来实现. 如,我们可以用个简答的HTTP请求的方式获取JSON数据,(以下都是在playground中写的) var ur ...

  6. JAVA对象JSON数据互相转换的四种常见情况

    这篇文章主要介绍了JAVA对象JSON数据互相转换的四种常见情况,需要的朋友可以参考下 1. 把java 对象列表转换为json对象数组,并转为字符串 复制代码代码如下:     JSONArray ...

  7. java数据文本格式转换_SpringMVC中Json数据格式转换

    1  @RequestBody 作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为js ...

  8. 【Java】json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理)

    [Java]json与java对象转换,获得数据库自增主键,保存返回数据 (个人梳理) 模拟请求API 获得json数据,将json转换为java对象,再将java对象转换为list集合,再将list ...

  9. java集合转js数值,基于jsTree的无限级树JSON数据的转换

    评论 # re: 基于jsTree的无限级树JSON数据的转换  回复  更多评论 exttree最好了!配合dwr ok 2009-05-05 22:50 | 大罗卜 # re: 基于jsTree的 ...

  10. java异步请求显示数据格式_JSON(四)——异步请求中前后端使用Json格式的数据进行交互...

    json格式的数据广泛应用于异步请求中前后端的数据交互,本文主要介绍几种使用场景和使用方法. 一,json格式字符串 functionsentAjax(){ $.ajax({ type:'POST', ...

最新文章

  1. double int char 数据类型
  2. WMI技术介绍和应用——Event Provider
  3. R构建分位数回归模型(Quantile Regression)
  4. 【LeetCode】121.买卖股票的最佳时机
  5. shell 脚本调试
  6. 别名的应用(New-Alias)
  7. 上古卷轴5python_基于Python-Flask的权限管理5:字典管理
  8. 无线光通信-CDMA中闭环链路的功率控制误差
  9. c++ using 前置声明_C++ 类声明 类前置声明范例
  10. 浏览器老是自动跳出广告垃圾网页
  11. 河南版权登记,给自己的“孩子”一个身份证
  12. 深度解密Go语言之context
  13. 工作234:按钮禁用
  14. TensorFlow中Variable()和get_variable()
  15. (大数据工程师学习路径)第五步 MySQL参考手册中文版----MySQL视图
  16. mysql 日志文件_Mysql 日志文件类型
  17. RabbitMQ消费端自定义监听器DefaultConsumer
  18. 二次规划与非线性规划及matlab应用
  19. 阿里云加速器拉取tomcat
  20. Java日期计算总结(包含工作日排除节假日)

热门文章

  1. 牛客SQL题解 - 查找employees表
  2. ibus五笔快捷键 繁简 单字 词组切换
  3. xp系统如可用计算机截图,WinXP系统电脑怎么截图 常见截图方法介绍
  4. 人工智能的未来是否真的会成为工人的乌托邦?
  5. JAVA实现网页版斗地主_Java实现斗地主案例
  6. 时间控件-Jedate
  7. 解决idea中xml注释出现空格和顶格问题
  8. 各厂商服务器存储默认管理口登录信息(默认IP、用户名、密码)
  9. pytorch的dataset用法详解
  10. 项目版本号的命名规范