java中字符串String格式转化成json格式

您所在的位置:网站首页 access数据表能转化成哪些格式的文件 java中字符串String格式转化成json格式

java中字符串String格式转化成json格式

2023-07-25 16:40| 来源: 网络整理| 查看: 265

一、将Sting转为Json

在开发中,经常是前端发送一串数据过来之后,是通过一个参数带着一串值过来,这一串值是String 格式的,但是里面的内容其实是json格式类型的,所以拿到值之后就要将该值转化成json格式,然后获取里面指定的key就可以拿到该值了。

JSONObject jsonObject = JSON.parseObject(tt);

这样就可以将一串参数转化成json对象了,然后通过下面指定的key获取特定的值,如下面所示

String imei= (String) jsonObject.get("imei");

在返回数据中,要经常返回指定的json格式,我用的是如下所示:

Mapmap=new HashMap(); map.put("ret",1); map.put("ret1","no"); map.put("tag1",sh.getTOpen()); map.put("video",sh.getfOpen()); map.put("video1",sh.getVOpen()); map.put("video2",sh.getViOpen()); String json=JSON.toJSONString(map);

然后return json;就可以了,不过一般这个值是要加密之后再上传给前端的。

二、fastjson的使用

FastJSON是一个Java语言编写的高性能,功能完善,完全支持 http://json.org 的标准的JSON库。

引入依赖:

com.alibaba fastjson 1.1.23 序列化

序列化就是指 把JavaBean对象转成JSON格式的字符串。

com.alibaba.fastjson.JSON提供了许多方法(多态)实现序列化。

image

1.基本的序列化

String objJson = JSON.toJSONString(Object object);

传入一个对象,将对象转成JSON字符串。

例1:将Map转成JSON

Map map = new HashMap(); map.put("key1", "One"); map.put("key2", "Two"); String mapJson = JSON.toJSONString(map);

输出结果:

{"key1":"One","key2":"Two"}

例2:自定义JavaBean User转成JSON。

User user = new User(); user.setUserName("李四"); user.setAge(24); String userJson = JSON.toJSONString(user);

输出结果:

{"age":24,"userName":"李四"} 反序列化

反序列化就是把JSON格式的字符串转化为Java Bean对象。

com.alibaba.fastjson.JSON提供了许多方法(多态)实现反序列化。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aYUTjNtM-1605684955339)(https://upload-images.jianshu.io/upload_images/20317748-3f706d09221df322?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

指定Class信息反序列化。

例3:将例2反序列化。

User user1 = JSON.parseObject(userJson, User.class); System.out.println(user1.getUserName());

输出结果:

李四 泛型的反序列化

泛型的反序列化,使用 TypeReference 传入类型信息。

例5:将例1反序列化。

Map map1 = JSON.parseObject(mapJson, new TypeReference(){}); System.out.println(map1.get("key1")); System.out.println(map1.get("key2"));

输出结果:

One Two JSONObject,JSONArray

JSONObject,JSONArray是JSON的两个子类。

JSONObject相当于 Map ,

JSONArray相当于 List 。

简单方法示例:

例6:将Map转成JSONObject,然后添加元素,输出。

Map map = new HashMap(); map.put("key1", "One"); map.put("key2", "Two"); JSONObject j = new JSONObject(map); j.put("key3", "Three"); System.out.println(j.get("key1")); System.out.println(j.get("key2")); System.out.println(j.get("key3"));


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3