首先声明一下,jsonlib转换与GSON相比太差劲了,操作不是一般的繁琐。GSON可以直接转换成各种集合与对象类型。强烈推荐使用GSON。而且GSON一个方法就可以解决,jsonlib转来转去太繁琐了。

手动创建JSONObject与JSONArray有用,用于读取文件对字符串进行处理

-----------------------------jsonlib操作复杂,转换Map与list<map>更是复杂----------------

Jar包

aaarticlea/png;base64,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" alt="" />

User.java

 package TestJson_JSONlib;

 public class User {

     private String id;
private String name;
private Integer age;
private String address;
public String getId() {
return id;
}
public int getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User() {
}
public User(String id, String name, Integer age, String address) {
super();
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + ", address=" + address + "]";
} }

1.Java对象转json(操作复杂)

对象类型用JSONObject,集合类型用JSONArray。

package TestJson_JSONlib;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import javax.xml.bind.UnmarshallerHandler; import org.junit.Test; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class Bean2JSON { // 测试单个对象转JSON,转单个对象用JSONObject
@Test
public void test1(){
User user = new User("1", "QIAOZHI",25,"山西太原");
JSONObject jsonObject = JSONObject.fromObject(user);
String json = jsonObject.toString();
System.out.println(json);
//{"id":"1","name":"QIAOZHI","age":25,"address":"山西太原"}
} // 测试list转JSON,转集合用JSONArray,会产生[]
@Test
public void test2(){
List<User> list = new ArrayList<User>();
list.add(new User("1", "QIAOZHI",25,"山西太原"));
list.add(new User("2", "QIAOZHI",25,"山西太原"));
list.add(new User("3", "QIAOZHI",25,"山西太原"));
JSONArray jsonArray = JSONArray.fromObject(list);
String json = jsonArray.toString();
System.out.println(json);
// [{"id":"1","name":"QIAOZHI","age":25,"address":"山西太原"},{"id":"2","name":"QIAOZHI","age":25,"address":"山西太原"},{"id":"3","name":"QIAOZHI","age":25,"address":"山西太原"}]
} // 测试map对象转JSON,转单个对象用JSONObject
@Test
public void test3(){
Map<String,User> map = new HashMap<String,User>();
map.put("1", new User("1", "QIAOZHI",25,"山西太原"));
map.put("2", new User("2", "QIAOZHI",25,"山西太原"));
map.put("3", new User("3", "QIAOZHI",25,"山西太原"));
JSONObject jsonObject= JSONObject.fromObject(map);
String json = jsonObject.toString();
System.out.println(json);
// {"3":{"address":"山西太原","age":25,"id":"3","name":"QIAOZHI"},"2":{"address":"山西太原","age":25,"id":"2","name":"QIAOZHI"},"1":{"address":"山西太原","age":25,"id":"1","name":"QIAOZHI"}}
} // 测试list<map>对象转JSON,转集合用JSONArray,会产生[]
@Test
public void test4(){
List<Map<String,User>> list = new ArrayList<>();
Map<String,User> map1 = new HashMap<String,User>();
Map<String,User> map2 = new HashMap<String,User>();
map1.put("map11", new User("1", "QIAOZHI",25,"山西太原"));
map1.put("map12", new User("2", "QIAOZHI",25,"山西太原"));
map2.put("21", new User("11", "QIAOZHI",25,"山西太原"));
map2.put("22", new User("21", "QIAOZHI",25,"山西太原"));
list.add(map1);
list.add(map2);
JSONArray jsonArray = JSONArray.fromObject(list);
String json = jsonArray.toString();
System.out.println(json);
// [{"map12":{"id":"2","name":"QIAOZHI","age":25,"address":"山西太原"},"map11":{"id":"1","name":"QIAOZHI","age":25,"address":"山西太原"}},{"21":{"id":"11","name":"QIAOZHI","age":25,"address":"山西太原"},"22":{"id":"21","name":"QIAOZHI","age":25,"address":"山西太原"}}]
} }

2.JSON字符串转Java对象与list(只测了转bean与list)

转出来的中间还有空格,使用时候还得去空格。太繁琐了。

在将 Json 形式的字符串转换为 JavaBean 的时候需要注意 JavaBean 中必须有无参构造函数,否则会报找不到初始化方法的错误。

package TestJson_JSONlib;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import org.junit.Test; import com.google.gson.Gson; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class JSON2Bean {
// 测试json转单个对象
@Test
public void test1(){
String json = "{\"id\":\"1\",\"name\":\"QIAOZHI\",\"age\":25,\"address\":\"山西太原\"}";
JSONObject jsonObject = JSONObject.fromObject(json);
System.out.println(jsonObject); //产生一个json格式的json对象
// {"id":"1","name":"QIAOZHI","age":25,"address":"山西太原"}
User user = (User) JSONObject.toBean(jsonObject, User.class);
System.out.println(user);
// User [id=1, name=QIAOZHI, age=null, address=山西太原]
} // 测试JSON转list(太反复杂了)
@SuppressWarnings("unchecked")
@Test
public void test2(){
String json = "[{'id':'1','name':'QIAOZHI','age':25,'address':'山西太原'},{'id':'2','name':'QIAOZHI','age':25,'address':'山西太原'},{'id':'3','name':'QIAOZHI','age':25,'address':'山西太原'}]";
List<User> list = new ArrayList<User>();
JSONArray jsonArray = JSONArray.fromObject(json);
System.out.println(jsonArray); //产生一个JSON格式的数组
// [{"id":"1","name":"QIAOZHI","age":25,"address":"山西太原"},{"id":"2","name":"QIAOZHI","age":25,"address":"山西太原"},{"id":"3","name":"QIAOZHI","age":25,"address":"山西太原"}]
list = (List<User>) JSONArray.toList(jsonArray,User.class);
System.out.println(list);
// [User [id=1, name=QIAOZHI, age=null, address=山西太原], User [id=2, name=QIAOZHI, age=null, address=山西太原], User [id=3, name=QIAOZHI, age=null, address=山西太原]]
System.out.println(list.get(1));
// User [id=2, name=QIAOZHI, age=null, address=山西太原]
}
}

3.手动创建JSONObject与JSONArray(用于封装JSON转java对象与List集合)

package TestJson_JSONlib;

import org.junit.Test;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject; public class CreateJSONObject { @Test
public void test1(){
// 手动创建一个JSONObject
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", "11");
jsonObject.put("name", "qiaozhi");
jsonObject.put("age", 30);
jsonObject.put("address", "山西太原");
System.out.println(jsonObject);
// {"id":"11","name":"qiaozhi","age":30,"address":"山西太原"} JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("id", "12");
jsonObject1.put("name", "qiaozhi");
jsonObject1.put("age", 30);
jsonObject1.put("address", "山西太原");
System.out.println(jsonObject1);
// {"id":"12","name":"qiaozhi","age":30,"address":"山西太原"} // 产生一个JSONArray
JSONArray jsonArray = new JSONArray();
jsonArray.add(jsonObject);
jsonArray.add(jsonObject1);
System.out.println(jsonArray);
// [{"id":"11","name":"qiaozhi","age":30,"address":"山西太原"},{"id":"12","name":"qiaozhi","age":30,"address":"山西太原"}] // 用上述方法转成Java对象与List集合,用于处理数据
}
}

可用于手动封装JSON对象。

补充:JSON字符串转map,与map转json字符串的测试:(其实字符转转map是先转为JSONObject再转为map)

        String accessToken = FetchData.getAccessToken();//{"expires_in":7200,"errmsg":"ok","access_token":"94a50870f92230eb8ad8211b4023675c","errcode":0}

        //*******************************json字符串转map
//转为JSONObject
JSONObject jsonObject = JSONObject.fromObject(accessToken);
//转为Map
Map map = (Map) JSONObject.toBean(jsonObject, Map.class);
System.out.println(map); //******************************Map转JSON字符串
JSONObject jsonStr = JSONObject.fromObject(map);
System.out.println(jsonStr.toString());

结果:

{expires_in=7200, errmsg=ok, access_token=94a50870f92230eb8ad8211b4023675c, errcode=0}
{"expires_in":7200,"errmsg":"ok","access_token":"94a50870f92230eb8ad8211b4023675c","errcode":0}

补充:JSONArray其实是List的子类,转换的时候字符串以[]包裹的可以转为JSONArray,而且要转为JSONArray必须以[    ]开始结束

        String jsonStrs = "[{\"customerId\":19,\"customerName\":\"\tXXX有限公司\"},{\"customerId\":5568,\"customerName\":\"\tXXX展有限公司\"}]";
// 字符串转为JSONArray,必须以[开始,以]结束
JSONArray jsonArray = JSONArray.fromObject(jsonStrs);
System.out.println(jsonArray.size());
System.out.println(jsonArray.toString());
System.out.println("=================================================");
for (int i = 0, length_1 = jsonArray.size(); i < length_1; i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
System.out.println(jsonObject.toString());
} // jsonArray转list
System.out.println("=================================================");
List list = JSONArray.toList(jsonArray);
System.out.println(list);

结果:

2
[{"customerId":19,"customerName":"\tXXX有限公司"},{"customerId":5568,"customerName":"\tXXX展有限公司"}]
=================================================
{"customerId":19,"customerName":"\tXXX有限公司"}
{"customerId":5568,"customerName":"\tXXX展有限公司"}
=================================================
[net.sf.ezmorph.bean.MorphDynaBean@20c8e08f[
{customerName= XXX有限公司, customerId=19}
], net.sf.ezmorph.bean.MorphDynaBean@640edd19[
{customerName= XXX展有限公司, customerId=5568}
]]

查看JSONArray源码:

补充2:其实我们的JSONObject就是Map,我们将字符串转为JSONObject之后数据存入其内置的map中:

        String returnedStr = HttpUtils.doGetWithParams(url, params);//{"errmsg":"ok","department":[{"id":1,"createDeptGroup":true,"name":"开发测试","autoAddUser":true}],"errcode":0}
// *******************************json字符串转map
JSONObject jsonObject = JSONObject.fromObject(returnedStr);
if (jsonObject != null && "ok".equals(jsonObject.get("errmsg"))) {
return (String) jsonObject.get("department");
} return null;

结果:

[{"id":1,"createDeptGroup":true,"name":"开发测试","autoAddUser":true}]

查看源码:

   public Object get( Object key ) {
if( key instanceof String ){
return get( (String) key );
}
return null;
} /**
* Get the value object associated with a key.
*
* @param key A key string.
* @return The object associated with the key.
* @throws JSONException if this.isNull() returns true.
*/
public Object get( String key ) {
verifyIsNull();
return this.properties.get( key );
}

  如果是字符串的话调用字符串调用方法从properties中获取值,properties是什么?应该是个map。。。继续查看源码如下:

   /**
* The Map where the JSONObject's properties are kept.
*/
private Map properties;

补充2:如果从JSONObject中获取一个不存在的key的时候会报错,而不是返回null,查看源码发现:

   public String getString( String key ) {
verifyIsNull();
Object o = get( key );
if( o != null ){
return o.toString();
}
throw new JSONException( "JSONObject[" + JSONUtils.quote( key ) + "] not found." );
}

解决办法:先判断一下

                if(jo.containsKey("tel")){
userMap.put("officePhone", jo.getString("tel"));
}

而对于HashMap来说,key不存在是返回null的,源码如下:

    public V get(Object key) {
if (key == null)
return getForNullKey();
Entry<K,V> entry = getEntry(key); return null == entry ? null : entry.getValue();
}

总结:

  1.字符串转JSONArray的时候字符串必须是JSON数组,也就是[{},{},.....];字符串转JSONObject必须是对象,也就是{"key":"value"...},当多个{}{}的时候只会转一个,如下。字符串转JSONArray或者JSONObject调用对应的fromObject(Obj)方法:

        String jsonStrs = "[{\"customerId\":19,\"customerName\":\"\tXXX有限公司\"},{\"customerId\":5568,\"customerName\":\"\tXXX展有限公司\"}]";
String jsonStrs1 = "{\"customerId\":19,\"customerName\":\"\tXXX有限公司\"},{\"customerId\":5568,\"customerName\":\"\tXXX展有限公司\"}";
JSONArray fromObject = JSONArray.fromObject(jsonStrs);
JSONObject fromObject1 = JSONObject.fromObject(jsonStrs1);
System.out.println(fromObject.toString());
System.out.println(fromObject1.toString());

结果:

[{"customerId":19,"customerName":"\tXXX有限公司"},{"customerId":5568,"customerName":"\tXXX展有限公司"}]
{"customerId":19,"customerName":"\tXXX有限公司"}

  2.JSONObject是一个中间对象。如果操作集合调用对应的JSONArray即可。

    字符串转对象可以先调用JSONObject.fromObject(str)转换为JSONObject,然后调用JSONObject.toBean(jsonObject,class)转为对应类型的对象

    对象转JSON字符串可以JSONObject.fromObject(str)转换为JSONObject,然后调用其toString()方法即可。

        Map map = new HashMap<>();
map.put("x", "x");
map.put("y", "y");
// Map转JSON字符串(先为JSONObject)
JSONObject fromObject = JSONObject.fromObject(map);// 转为JSONObject
String jsonStr = fromObject.toString();
System.out.println(jsonStr);
System.out.println("==========================");
// JSON转Map字符串(先转为JSONObject)
JSONObject fromObject2 = JSONObject.fromObject(jsonStr);
Map bean = (Map) JSONObject.toBean(fromObject2, Map.class);
System.out.println(bean);

结果:

{"y":"y","x":"x"}
==========================
{y=y, x=x}

补充:上面的JSONObject是JSONLib下的类。如果是fastjson包下的JSONObject(alibaba的)使用更简单,字符串转对象与对象转字符串如下:

  toJSONString(bean)转为JSON串,parseObject(jsonStr,class)转为Bean。

        Map map = new HashMap<>();
map.put("x", "x");
map.put("y", "y");
// bean转JSON字符串
String jsonString = com.alibaba.fastjson.JSONObject.toJSONString(map);
System.out.println(jsonString); // JSON字符串转bean
Map parseObject = com.alibaba.fastjson.JSONObject.parseObject(jsonString, Map.class);
System.out.println(parseObject);

也可以指定指定属性不进行序列化,如下:

        Map<String, String> map = new HashMap<>();
map.put("x", "x");
map.put("y", "y"); // 采用过滤器过滤掉指定属性
SimplePropertyPreFilter filter = new SimplePropertyPreFilter();
filter.getExcludes().add("x");
String jsonString2 = com.alibaba.fastjson.JSONObject.toJSONString(map, filter);
System.out.println(jsonString2);

结果:

{"y":"y"}

Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)的更多相关文章

  1. python 面向对象:封装---对象的属性可以是另一个类创建的对象

    # 对象封装:对象的属性可以是另一个类创建的对象 # 案例需求: # 1.士兵许三多有一把AK47 # 2.士兵用枪射击标靶 # 3.枪能装填和发射子弹 class Gun: # 分析: # 枪的属性 ...

  2. java 字符串转json,json转实体对象、json字符串转换成List、List转String、以及List排序等等...

    @RequestMapping(value = "updateInvestorApplyAccountNo", method = RequestMethod.POST) @Resp ...

  3. js数组,字符串,json互相转换函数有哪些

    js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...

  4. Java 关于创建String对象过程的内存分配

    一.String s = "abc"  和 String s = new String("abc") 的区别 1.String s = "abc&qu ...

  5. jenkins:实现Jenkinsfile与Json的转换

    实现Jenkinsfile与Json的转换 目录 实现Jenkinsfile与Json的转换 方法1:使用现有的jenkins插件 参考 方法2:解析原生的jenkinsfile文件 参考 最近在做个 ...

  6. 死磕Spring之AOP篇 - Spring AOP自动代理(三)创建代理对象

    该系列文章是本人在学习 Spring 的过程中总结下来的,里面涉及到相关源码,可能对读者不太友好,请结合我的源码注释 Spring 源码分析 GitHub 地址 进行阅读. Spring 版本:5.1 ...

  7. Spring学习笔记之 Spring IOC容器(一)之 实例化容器,创建JavaBean对象,控制Bean实例化,setter方式注入,依赖属性的注入,自动装配功能实现自动属性注入

    本节主要内容:       1.实例化Spring容器示例    2.利用Spring容器创建JavaBean对象    3.如何控制Bean实例化    4.利用Spring实现bean属性sett ...

  8. 《Java程序员面试笔试宝典》之字符串创建与存储的机制是什么

    在Java语言中,字符串起着非常重要的作用,字符串的声明与初始化主要有如下两种情况: (1)       对于String s1=new String("abc")语句与Strin ...

  9. Json.Net系列教程 4.Linq To JSON

    原文 Json.Net系列教程 4.Linq To JSON 更改历史 2013-05-31 添加一个FAQ   一.Linq to JSON是用来干什么的? Linq to JSON是用来操作JSO ...

随机推荐

  1. poj2115-C Looooops -线性同余方程

    线性同余方程的模板题.和青蛙的约会一样. #include <cstdio> #include <cstring> #define LL long long using nam ...

  2. 【Luogu4723】线性递推(常系数齐次线性递推)

    [Luogu4723]线性递推(常系数齐次线性递推) 题面 洛谷 题解 板子题QwQ,注意多项式除法那里每个多项式的系数,调了一天. #include<iostream> #include ...

  3. [学习笔记]prufer序列

    前言 PKUWC和NOIWC都考察了prufer序列,结果统统爆零 prufer序列就是有标号生成树对序列的映射 prufer序列生成 每次选择编号最小的叶子删掉,把叶子的父亲加入prufer序列,直 ...

  4. A1047. Student List for Course

    Zhejiang University has 40000 students and provides 2500 courses. Now given the registered course li ...

  5. (转)JVM——自定义类加载器

    背景:为什么要自定义,如何自定义,实现过程 转载:http://blog.csdn.net/SEU_Calvin/article/details/52315125 0. 为什么需要自定义类加载器 网上 ...

  6. pow log 与 (int)

    1.不能用%d输出double类型的数 double a1=5.3; double a2=1234.1234; double a3=3412341.12341234; double b1=1.5; d ...

  7. MySQL命令 导出 数据和结构

    网上的真是仅供参考,啥也不想说. //先找到mysqldump的目录 //Centos7中位于 /usr/bin 中 然后执行命令: cd /user/bin mysqldump -u [用户名] - ...

  8. 地址空间格局随机化ASLR

    Address space layout randomization(ASLR)是一种参与保护缓冲区溢出问题的一个计算机安全技术.是为了防止攻击者在内存中能够可靠地对跳转到特定利用函数.ASLR包括随 ...

  9. (递推)一只小蜜蜂... hdu2044

    一只小蜜蜂... 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 Time Limit: 2000/1000 MS (Java/Others)    ...

  10. ADO.NET入门教程(五) 细说数据库连接池

    摘要 今天我要讲的是数据库连接池.说实话,我表示鸭梨很大.因为相比其他章节来说,连接池相对来说难理解一点.我要用最通俗的语句给大家讲明白,讲透彻却也不是一件很容易的事.但是,连接池又是非常重要的知识点 ...