总结一下利用Json相关jar包实现Java对象和集合与Json字符串之间的互相转换:

1、创建的User类:

package com.ghj.packageofdomain;public class User {private int id;private String name;private String gender;public User() {}public User(int id, String name, String gender) {this.id = id;this.name = name;this.gender = gender;}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 String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}@Overridepublic String toString() {return "id=" + id + ",name=" + name + ",gender=" + gender;}
}

2、Java对象和集合与Json字符串之间的互相转换:
        i、Java对象与Json字符串之间的互相转换:

package com.ghj.packageoftest;import net.sf.json.JSONObject;import com.ghj.packageofdomain.User;public class Test{public static void main(String[] args) {System.out.println(objectToJsonString());jsonStringToObject(objectToJsonString());}/*** 将Java对象转换为Json字符串* * @author 高焕杰*/static String objectToJsonString(){JSONObject jsonObject = JSONObject.fromObject(new User(1, "张三", "男"));return jsonObject.toString();}/*** 将Json字符串转换为Java对象* * @author 高焕杰*/static void jsonStringToObject(String jsonString){JSONObject jsonObject = JSONObject.fromObject(jsonString);User user = (User)JSONObject.toBean(jsonObject, User.class);System.out.println(user);}
}

ii、Java集合与Json字符串之间的互相转换:

package com.ghj.packageoftest;import java.util.ArrayList;
import java.util.List;import net.sf.json.JSONArray;import com.ghj.packageofdomain.User;public class Test{public static void main(String[] args) {System.out.println(collectionToJsonString());jsonStringToCollection(collectionToJsonString());}/*** 将Java集合转换为Json字符串* * @author 高焕杰*/static String collectionToJsonString(){List<User> userList = new ArrayList<User>();userList.add(new User(1, "张三", "男"));userList.add(new User(2, "李四", "女"));userList.add(new User(3, "王五", "男"));JSONArray jsonArray = JSONArray.fromObject(userList);return jsonArray.toString();}/*** 将Json字符串转换为Java集合* * @author 高焕杰*/static void jsonStringToCollection(String jsonString){JSONArray jsonArray = JSONArray.fromObject(jsonString);@SuppressWarnings("unchecked")List<User> userList = (List<User>)JSONArray.toCollection(jsonArray, User.class);for (User user : userList) {System.err.println(user);}}
}

注意:

1、上面User类不仅有有參构造函数还有无參构造函数,有人可能会问为什么要有无參的构造函数呢?呵呵呵。为了方面构造User实例,加入了有參数的构造函数。但是正由于有了这个构造函数才必需要加入无參构造函数,否则会出现以下异常:

假设不嫌构造User实例繁杂全然能够去掉这两个构造函数的——事实上这样的情况下无參构造函数还是存在的,呵呵呵,总之中的一个句话要实现Json字符串转化为Java实例或集合则相关类中要有无參的构造函数。

2、 Java对象和集合与Json之间的互相转换需要借助对应的jar包实现,这些jar包能够在Demo中获取到

0分下载Demo

Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换相关推荐

  1. 对象json字符串数组 java对象,java把json的字符串转换为json对象和数组

    [Json--使用Json jar包实现Json字符串与Java对象或集合之间的互相转换] 1,[java将JSON字符串转换为实体类对象 @SuppressWarnings(unchecked)pu ...

  2. java json解析jar包,解析json常用jar包

    13.轻量级的 JSON API:内置了一个轻量级的 JSON API 14.响... 1.加入 Jackson.jar? 2.在配置文件中配置 json 的映射? 3... 和json都是一种数据交 ...

  3. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  4. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

  5. JSON 字符串 与 java 对象的转换

    jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //j ...

  6. json 解析 转java对象数组对象数组对象_json字符串转java对象数组

    需要引入json-lib-2.2-jdk15.jar和ezmorph-1.0.6.jar包 String itemStar = request.getParameter("itemStar& ...

  7. JSON字符串在Java和JavaScript中的解析和转换

    JSON字符串在Java和JS种的转换 1. JSON字符串格式 2. JSON 在 Java 中的转换 2.1 FastJSON 使用 2.2 Jackson 使用 2.3 Gson 使用 2.4 ...

  8. Json对象与Json字符串的转化、JSON字符串与Java对象的转换

    一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...

  9. json字符串与java对象的相互转换(jackson)

    1.java对象转换为json字符串 package com.chichung.json;import com.fasterxml.jackson.core.JsonProcessingExcepti ...

最新文章

  1. 机器学习面试中常考的知识点,附代码实现(二)
  2. SQL Server 2005如何起用 xp_cmdshell
  3. Hadoop学习---Zookeeper+Hbase配置学习
  4. oppo 手机刷机和root,还有其他必备的刷机工具,需要请进!!!
  5. resin 配置java_Resin4配置
  6. python爬虫系列第六次笔记之验证码以及代理的使用
  7. 与锤子手机HR的对话——创业没有联合创始人,CTO 等高管会把它当做自己的事业吗?...
  8. 配对t检验的应用条件是什么_配对t检验在实际工作中的应用
  9. BI相关的内容---BI是什么,主要工作的内容有哪些?
  10. Android11.0(R) MTK 预置可卸载app恢复出厂不恢复(仿RK方案)
  11. 苹果cms怎么一键删除所有视频
  12. Linux下 vim的基本配置
  13. Rosalind第68题:Counting Optimal Alignments
  14. 说我菜?那好,我用Python制作电脑与手机游戏脚本来赢你
  15. C++中左移运算符<<、右移运算符>>、以及位与运算符
  16. redis中的AKF理论和CAP理论详解
  17. 计算机应用基础——计算机软件(三)
  18. 批量合同生成软件/工具
  19. 刷题总结——regular words(hdu1502 dp+高精度加法+压位)
  20. 我6个月的学习编程经历:从”大齿怪“到“狂欢者”

热门文章

  1. html本文框百分比定位,HTML中三种定位relative,absolute,fixed后,盒子的百分比宽度及位置易错点...
  2. JavaScript 插入元素到数组的方法汇总
  3. Responsive自适应网页设计与ResponsiveColumn自适应列实例
  4. [Firefox] 方便实用的firefox 插件
  5. Spring Boot Mybatis简单使用
  6. 并发执行linux命令结果混乱,Shell脚本--并发执行
  7. Python中的Monkey Patch(猴子补丁)
  8. Spring Cloud 中的@FeignClient注解中的contextId属性
  9. 使用Notepad++正则提取数据,然后进行替换
  10. MyBatis 中的mapper.xml详解