java字符串数组转json_java中字符串String格式转化成json格
⼀、将Sting转为Json
在开发中,经常是前端发送⼀串数据过来之后,是通过⼀个参数带着⼀串值过来,这⼀串值是String 格式的,但是⾥⾯的内容其实是json 格式类型的,所以拿到值之后就要将该值转化成json格式,然后获取⾥⾯指定的key就可以拿到该值了。
JSONObject jsonObject = JSON.parseObject(tt);
这样就可以将⼀串参数转化成json对象了,然后通过下⾯指定的key获取特定的值,如下⾯所⽰
String imei= (String) ("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 JSONString(map);
然后return json;就可以了,不过⼀般这个值是要加密之后再上传给前端的。
⼆、fastjson的使⽤
引⼊依赖:
com.alibaba
fastjson
1.1.23
序列化
序列化就是指 把JavaBean对象转成JSON格式的字符串。
com.alibaba.fastjson.JSON提供了许多⽅法(多态)实现序列化。
image
1.基本的序列化
String objJson = JSONString(Object object);
传⼊⼀个对象,将对象转成JSON字符串。
数组转换成字符串例1:将Map转成JSON
Map map = new HashMap();
map.put("key1", "One");
map.put("key2", "Two");
String mapJson = JSONString(map);
输出结果:
{"key1":"One","key2":"Two"}
例2:⾃定义JavaBean User转成JSON。
User user = new User();
user.setUserName("李四");
user.setAge(24);
String userJson = JSONString(user);
输出结果:
{"age":24,"userName":"李四"}
反序列化
反序列化就是把JSON格式的字符串转化为Java Bean对象。
com.alibaba.fastjson.JSON提供了许多⽅法(多态)实现反序列化。
image
指定Class信息反序列化。
例3:将例2反序列化。
User user1 = JSON.parseObject(userJson, User.class);
System.out.UserName());
输出结果:
李四
泛型的反序列化
泛型的反序列化,使⽤ TypeReference 传⼊类型信息。
例5:将例1反序列化。
Map map1 = JSON.parseObject(mapJson, new TypeReference>(){}); System.out.("key1"));
System.out.("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.("key1"));
System.out.("key2"));
System.out.("key3"));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。