在线解析:https://c.runoob.com/front-end/53
https://www.bejson.com/zhuanyi/
https://c.runoob.com/front-end/53
1. 将json字符串转化成List<Map < String , Object>>对象
import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author * @create 2018-05-04 14:13 * @description 将json字符串转化成List<Map < String , Object>>对象 * 1. http://www.yq1012.com/myweb/1469.html * @@since 1.0.0 */ public class GsonListMap { public static void main(String args[]){ Map<String,Object> map = new HashMap<String,Object>(); map.put("key1", "value1"); map.put("key2", "value2"); Map<String,Object> map2 = new HashMap<String,Object>(); map2.put("key1", 1); map2.put("key2", 2); List<Map<String,Object>> list = new ArrayList<Map<String,Object>>(); list.add(map); list.add(map2); Gson gson = new Gson(); String jsonString = gson.toJson(list); // System.out.println("json字符串:"+jsonString); //解析json字符串 List<Map<String,Object>> list2 = gson.fromJson(jsonString, new TypeToken<List<Map<String,Object>>>(){}.getType()); // List<Map<String,Object>> list2 = gson.fromJson(jsonString, List.class); // List<Map<String,Object>> list2 = JSON.parseObject(jsonString, List.class); for (Map<String,Object> map1:list2 ) { for (Object key : map1.values()) { System.out.println(key); } } } }
2. 将json字符串转化成List<JavaBean>对象
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.util.ArrayList; import java.util.List; /** * @author * @create 2018-05-04 13:55 * @description 1. http://www.yq1012.com/myweb/1469.html * 2. 将json字符串转化成List<JavaBean>对象 * * @since 1.0.0 */ public class GsonListObject { public static void main(String args[]){ Person person1 = new Person("1","gson1",1); Person person2 = new Person("2","gson2",2); List<Person> persons = new ArrayList<Person>(); persons.add(person1); persons.add(person2); Gson gson = new Gson(); //这里将lsit<javabean>转化成json字符串 String jsonString = gson.toJson(persons); // System.out.println(jsonString); //解析json字符串 List<Person> persons2 = gson.fromJson(jsonString, new TypeToken<List<Person>>(){}.getType()); for (Person person:persons2 ) { System.out.println(person); } } }
3. 将json字符串转化成JavaBean对象
import com.google.gson.Gson; /** * @author * @create 2018-05-04 13:40 * @description : 1.http://www.yq1012.com/myweb/1469.html * 2.将json字符串转化成JavaBean对象 * 3. * @@since 1.0.0 */ public class GsonObject { public static void main(String args[]){ Person person = new Person("1","gson",1); Gson gson = new Gson(); //这里将javabean转化成json字符串 String jsonString = gson.toJson(person); // System.out.println(jsonString); //这里将json字符串转化成javabean对象, person = gson.fromJson(jsonString,Person.class); System.out.println(person); } }
4. 将json字符串转化成List<String>对象
import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import java.util.ArrayList; import java.util.List; /** * @author * @create 2018-05-04 14:07 * @description 将json字符串转化成List<String>对象 * 1. http://www.yq1012.com/myweb/1469.html * @@since 1.0.0 */ public class JsonToList { public static void main(String args[]){ List<String> list = new ArrayList<String>(); list.add("gson1"); list.add("gson2"); list.add("gson3"); Gson gson = new Gson(); String jsonString = gson.toJson(list); // System.out.println("json字符串:"+jsonString); //解析json字符串 List<String> list2 = gson.fromJson(jsonString, new TypeToken<List<String>>(){}.getType()); for (int i = 0; i <list2.size() ; i++) { System.out.println(list2.get(i)); } } }
5. String 转json
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.util.HashMap; import java.util.Map; /** * @author * @create 2018-05-04 14:33 * @description 1. String 转json * 2. http://www.yq1012.com/shizhan/4284.html * @since 1.0.0 */ public class StringToJaon { public static void main(String args[]){ //String 转json String str="{\"website\":\"tool.yq1012.com\"}"; JSONObject json = JSON.parseObject(str); // System.out.println(json.toString()); //String 转map String str1="{key3=value3, key2={key3=value3, key2=value2, key1=value1},key1=value1}"; Map map = (Map<String, Object>) getValue(str1); // System.out.println(map.toString()); //map 转 json JSONObject json1 = JSONObject.parseObject(JSON.toJSONString(map));; // System.out.println(json1.toString()); //json 转 map String str2 = "{\"0\":\"zhangsan\",\"1\":\"lisi\",\"2\":\"wangwu\",\"3\":\"maliu\"}"; Map mapType = JSON.parseObject(str2,Map.class); // System.out.println(mapType.toString()); } //{key3=value3, key2={key3=value3, key2=value2, key1=value1},key1=value1} public static Object getValue(String param) { Map map = new HashMap(); String str = ""; String key = ""; Object value = ""; char[] charList = param.toCharArray(); boolean valueBegin = false; for (int i = 0; i < charList.length; i++) { char c = charList[i]; if (c == '{') { if (valueBegin == true) { value = getValue(param.substring(i, param.length())); i = param.indexOf('}', i) + 1; map.put(key, value); } } else if (c == '=') { valueBegin = true; key = str; str = ""; } else if (c == ',') { valueBegin = false; value = str; str = ""; map.put(key, value); } else if (c == '}') { if (str != "") { value = str; } map.put(key, value); return map; } else if (c != ' ') { str += c; } } return map; } }
6. person 类
/** * @author * @create 2018-05-04 13:43 * @description person * @@since 1.0.0 */ public class Person { String num; String name; int grade; public Person() { } public Person(String num, String name, int grade) { this.num = num; this.name = name; this.grade = grade; } public String getNum() { return num; } public void setNum(String num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGrade() { return grade; } public void setGrade(int grade) { this.grade = grade; } @Override public String toString() { return "Person{" + "num='" + num + '\'' + ", name='" + name + '\'' + ", grade=" + grade + '}'; } }
https://www.jianshu.com/p/eafce9689e7d