java json字符串转java对象_数组转换为字符串

java json字符串转java对象_数组转换为字符串JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串

java

一、Json转对象

Json和javaBean之间的转化是通过类的setter和getter方法。属性即使是私有也能访问,但是一定要有setter和getter方法。

1、 fastJson工具类

依赖引入

 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>2.0.32</version> </dependency> 

详细学习网址rounnoob
第一种方式 Json工具类:
通过Json.parseObject()

@Test public void whenJson_thanConvertToObjectCorrect() { 
    Person person = new Person(20, "John", "Doe", new Date()); String jsonObject = JSON.toJSONString(person); Person newPerson = JSON.parseObject(jsonObject, Person.class); } 

还能实现Map与Json的转化,java中一切皆对象嘛

HashMap hashMap = JSONO.parseObject(s1, HashMap.class); 

二种方式JsonObject:
JsonObject只是继承了Json,新增了更多的方法,见下面源码:

public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler, Wrapper { 
    

所以我就不赘述了,使用方法和Json一样,只是Json变成JsonObject,具体的差异见上面runoob连接。

2、Hutool工具类

依赖引入:

<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.16</version> </dependency> 

学习链接: hutool
使用方法,如下代码:

String json = "{\"ADT\":[[{\"BookingCode\":[\"N\",\"N\"]}]]}"; Price price = JSONUtil.toBean(json, Price.class); // N price.getADT().get(0).get(0).getBookingCode().get(0); 

二、对象转Json字符串

1、fastJson

使用JSONObject.toJSONString(),例子如下:

 public static void main(String[] args) { 
    User user = new User("111"); LinkedHashMap<Object, Object> objectObjectLinkedHashMap = new LinkedHashMap<>(); objectObjectLinkedHashMap.put("1","1"); String s1 = JSONObject.toJSONString(objectObjectLinkedHashMap); HashMap hashMap = JSONObject.parseObject(s1, HashMap.class); System.out.println(s1); System.out.println(hashMap); String s = JSONObject.toJSONString(user); System.out.println(s); User parse = JSONObject.parseObject(s,User.class); System.out.println(parse); } 

2、Hutool

JSONUtil.toJsonStr可以将任意对象(Bean、Map、集合等)直接转换为JSON字符串。 如果对象是有序的Map等对象,则转换后的JSON字符串也是有序的。

SortedMap<Object, Object> sortedMap = new TreeMap<Object, Object>() { 
    private static final long serialVersionUID = 1L; { 
    put("attributes", "a"); put("b", "b"); put("c", "c"); }}; JSONUtil.toJsonStr(sortedMap); 

总结

因为涉及的比较多,我就没有写很多,有空再补全。希望学者可以按照我推荐的网址详细学习。

学习链接: 1、hutool 2、rounnoob

今天的文章
java json字符串转java对象_数组转换为字符串分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80333.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注