JSON详细学习之Gson in JAVA
2017-07-17 21:51
501 查看
需要依赖的jar包: gson-2.2.4.jar
这里我也用到了前面介绍JSONObject时创建的model类,直接看代码吧
[java] view plain copy print?package com.peter.gson.test;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.peter.model.ClassInfo;
import com.peter.model.Student;
import com.peter.model.Teacher;
/**
* Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树
* JsonElement类:一个类代表的JSON元素 JsonObject类:JSON对象类型 JsonArray类:JsonObject数组
* TypeToken类:用于创建type,比如泛型List<?>
*
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
Gson gson = new Gson();
Student student1 = new Student();
student1.setId(1);
student1.setName(”李坤”);
student1.setBirthDay(new Date());
// //////////////////////////////////////////////////////////
System.out.println(”———-简单对象之间的转化————-“);
// 简单的bean转为json
String s1 = gson.toJson(student1);
System.out.println(”简单Bean转化为Json===” + s1);
// json转为简单Bean
Student student = gson.fromJson(s1, Student.class);
System.out.println(”Json转为简单Bean===” + student);
// 结果:
// 简单Bean转化为Json==={“id”:1,”name”:”李坤”,”birthDay”:”Jun 22, 2012 8:27:52 AM”}
// Json转为简单Bean===Student [birthDay=Fri Jun 22 08:27:52 CST 2012, id=1,
// name=李坤]
// //////////////////////////////////////////////////////////
Student student2 = new Student();
student2.setId(2);
student2.setName(”曹贵生”);
student2.setBirthDay(new Date());
Student student3 = new Student();
student3.setId(3);
student3.setName(”柳波”);
student3.setBirthDay(new Date());
List<Student> list = new ArrayList<Student>();
list.add(student1);
list.add(student2);
list.add(student3);
System.out.println(”———-带泛型的List之间的转化————-“);
// 带泛型的list转化为json
String s2 = gson.toJson(list);
System.out.println(”带泛型的list转化为json==” + s2);
// json转为带泛型的list
List<Student> retList = gson.fromJson(s2,
new TypeToken<List<Student>>() {
}.getType());
for (Student stu : retList) {
System.out.println(stu);
}
// 结果:
// 带泛型的list转化为json==[{“id”:1,”name”:”李坤”,”birthDay”:”Jun 22, 2012 8:28:52 AM”},{“id”:2,”name”:”曹贵生”,”birthDay”:”Jun 22, 2012 8:28:52 AM”},{“id”:3,”name”:”柳波”,”birthDay”:”Jun 22, 2012 8:28:52 AM”}]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=1, name=李坤]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=2, name=曹贵生]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=3, name=柳波]
Teacher t = new Teacher();
t.setJabNum(”t101”);
t.setName(”lijun”);
ClassInfo ci = new ClassInfo();
ci.setClassName(”cna”);
ci.setClassNum(101);
ci.setStudents(list);
ci.setTeacher(t);
String c = gson.toJson(ci);
System.out.println(”ci to json //////////////”);
System.out.println(c);
System.out.println(”json to ci //////////”);
ClassInfo cijson = gson.fromJson(c, ClassInfo.class);
System.out.println(cijson);
System.out.println(”handle date json//////////////////////////”);
String jsonDateStr = ”{\”id\”:1,\”name\”:\”peter\”,\”birthDay\”:\”2013-01-04 10:30:30\”}”;
gson = new GsonBuilder().setDateFormat(“yyyy-MM-dd HH:mm:ss”).create();
Student stu = gson.fromJson(jsonDateStr, Student.class);
System.out.println(stu);
Gson dategson = new GsonBuilder().setDateFormat(“yyyy-MM-dd HH:mm:ss”)
.create();
String jsonString = dategson.toJson(
new Date(System.currentTimeMillis()), Date.class);
System.out.println(System.currentTimeMillis());
System.out.println(jsonString);
// (6)通过json对象直接操作json以及一些json的工具
// a)格式化Json
String json = ”[{\”id\”:\”1\”,\”name\”:\”Json技术\”},{\”id\”:\”2\”,\”name\”:\”java技术\”}]”;
Gson pregson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json);
json = pregson.toJson(je);
System.out.println(”格式化Json:” + json);
// b)判断字符串是否是json,通过捕捉的异常来判断是否是json
String comjson = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
boolean jsonFlag = false;
try {
new JsonParser().parse(comjson).getAsJsonObject();
jsonFlag = true;
} catch (Exception e) {
jsonFlag = false;
}
System.out.println(”判断字符串是否是json:” + jsonFlag);
// c)从json串中获取属性
String prejson = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName = ”id”;
String propertyValue = ”“;
try {
JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(prejson);
JsonObject jsonObj = element.getAsJsonObject();
propertyValue = jsonObj.get(propertyName).getAsString();
} catch (Exception e) {
propertyValue = null;
}
System.out.println(”从json串中获取属性:” + propertyValue);
// d)除去json中的某个属性
String json1 = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName1 = ”id”;
JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(json1);
JsonObject jsonObj = element.getAsJsonObject();
jsonObj.remove(propertyName1);
json1 = jsonObj.toString();
System.out.println(”除去json中的某个属性:” + json1);
// e)向json中添加属性
String json2 = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName2 = ”desc”;
Object propertyValue2 = ”json各种技术的调研”;
JsonParser jsonParser2 = new JsonParser();
JsonElement element2 = jsonParser2.parse(json2);
JsonObject jsonObj2 = element2.getAsJsonObject();
jsonObj2.addProperty(propertyName2, new Gson().toJson(propertyValue2));
json2 = jsonObj2.toString();
System.out.println(”向json中添加属性:” + json2);
// f)修改json中的属性
json = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
propertyName = ”name”;
propertyValue = ”json各种技术的调研”;
jsonParser = new JsonParser();
element = jsonParser.parse(json);
jsonObj = element.getAsJsonObject();
jsonObj.remove(propertyName);
jsonObj.addProperty(propertyName, new Gson().toJson(propertyValue));
json = jsonObj.toString();
System.out.println(”修改json中的属性:” + json);
// g)判断json中是否有属性
json = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
propertyName = ”name”;
boolean isContains = false;
jsonParser = new JsonParser();
element = jsonParser.parse(json);
jsonObj = element.getAsJsonObject();
isContains = jsonObj.has(propertyName);
System.out.println(”判断json中是否有属性:” + isContains);
// // h)json中日期格式的处理
// GsonBuilder builder = new GsonBuilder();
// builder.setDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”);
// Gson gson = builder.create();
// // 然后使用gson对象进行json的处理,如果出现日期Date类的对象,就会按照设置的格式进行处理
// // i)json中对于Html的转义
// Gson gson = new Gson();
// // 这种对象默认对Html进行转义,如果不想转义使用下面的方法
// GsonBuilder builder = new GsonBuilder();
// builder.disableHtmlEscaping();
// Gson gson = builder.create();
// map <–> json
Map<String, String> colours = new HashMap<String, String>();
colours.put(”BLACK”, “#000000”);
colours.put(”RED”, “#FF0000”);
colours.put(”GREEN”, “#008000”);
colours.put(”BLUE”, “#0000FF”);
colours.put(”YELLOW”, “#FFFF00”);
colours.put(”WHITE”, “#FFFFFF”);
//
// Convert a Map into JSON string.
//
gson = new Gson();
String jsonMap = gson.toJson(colours);
System.out.println(”json = ” + jsonMap);
//
// Convert JSON string back to Map.
//
Type type = new TypeToken<Map<String, String>>() {
}.getType();
Map<String, String> map = gson.fromJson(jsonMap, type);
for (String key : map.keySet()) {
System.out.println(”map.get = ” + map.get(key));
}
}
}
运行结果请自行测试学习。
在此,关于Json的学习告一段落.
工程地址: http://download.csdn.net/detail/linpe/9558729
这里我也用到了前面介绍JSONObject时创建的model类,直接看代码吧
[java] view plain copy print?package com.peter.gson.test;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.reflect.TypeToken;
import com.peter.model.ClassInfo;
import com.peter.model.Student;
import com.peter.model.Teacher;
/**
* Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树
* JsonElement类:一个类代表的JSON元素 JsonObject类:JSON对象类型 JsonArray类:JsonObject数组
* TypeToken类:用于创建type,比如泛型List<?>
*
* @author Administrator
*
*/
public class Test {
public static void main(String[] args) {
Gson gson = new Gson();
Student student1 = new Student();
student1.setId(1);
student1.setName(”李坤”);
student1.setBirthDay(new Date());
// //////////////////////////////////////////////////////////
System.out.println(”———-简单对象之间的转化————-“);
// 简单的bean转为json
String s1 = gson.toJson(student1);
System.out.println(”简单Bean转化为Json===” + s1);
// json转为简单Bean
Student student = gson.fromJson(s1, Student.class);
System.out.println(”Json转为简单Bean===” + student);
// 结果:
// 简单Bean转化为Json==={“id”:1,”name”:”李坤”,”birthDay”:”Jun 22, 2012 8:27:52 AM”}
// Json转为简单Bean===Student [birthDay=Fri Jun 22 08:27:52 CST 2012, id=1,
// name=李坤]
// //////////////////////////////////////////////////////////
Student student2 = new Student();
student2.setId(2);
student2.setName(”曹贵生”);
student2.setBirthDay(new Date());
Student student3 = new Student();
student3.setId(3);
student3.setName(”柳波”);
student3.setBirthDay(new Date());
List<Student> list = new ArrayList<Student>();
list.add(student1);
list.add(student2);
list.add(student3);
System.out.println(”———-带泛型的List之间的转化————-“);
// 带泛型的list转化为json
String s2 = gson.toJson(list);
System.out.println(”带泛型的list转化为json==” + s2);
// json转为带泛型的list
List<Student> retList = gson.fromJson(s2,
new TypeToken<List<Student>>() {
}.getType());
for (Student stu : retList) {
System.out.println(stu);
}
// 结果:
// 带泛型的list转化为json==[{“id”:1,”name”:”李坤”,”birthDay”:”Jun 22, 2012 8:28:52 AM”},{“id”:2,”name”:”曹贵生”,”birthDay”:”Jun 22, 2012 8:28:52 AM”},{“id”:3,”name”:”柳波”,”birthDay”:”Jun 22, 2012 8:28:52 AM”}]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=1, name=李坤]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=2, name=曹贵生]
// Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=3, name=柳波]
Teacher t = new Teacher();
t.setJabNum(”t101”);
t.setName(”lijun”);
ClassInfo ci = new ClassInfo();
ci.setClassName(”cna”);
ci.setClassNum(101);
ci.setStudents(list);
ci.setTeacher(t);
String c = gson.toJson(ci);
System.out.println(”ci to json //////////////”);
System.out.println(c);
System.out.println(”json to ci //////////”);
ClassInfo cijson = gson.fromJson(c, ClassInfo.class);
System.out.println(cijson);
System.out.println(”handle date json//////////////////////////”);
String jsonDateStr = ”{\”id\”:1,\”name\”:\”peter\”,\”birthDay\”:\”2013-01-04 10:30:30\”}”;
gson = new GsonBuilder().setDateFormat(“yyyy-MM-dd HH:mm:ss”).create();
Student stu = gson.fromJson(jsonDateStr, Student.class);
System.out.println(stu);
Gson dategson = new GsonBuilder().setDateFormat(“yyyy-MM-dd HH:mm:ss”)
.create();
String jsonString = dategson.toJson(
new Date(System.currentTimeMillis()), Date.class);
System.out.println(System.currentTimeMillis());
System.out.println(jsonString);
// (6)通过json对象直接操作json以及一些json的工具
// a)格式化Json
String json = ”[{\”id\”:\”1\”,\”name\”:\”Json技术\”},{\”id\”:\”2\”,\”name\”:\”java技术\”}]”;
Gson pregson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(json);
json = pregson.toJson(je);
System.out.println(”格式化Json:” + json);
// b)判断字符串是否是json,通过捕捉的异常来判断是否是json
String comjson = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
boolean jsonFlag = false;
try {
new JsonParser().parse(comjson).getAsJsonObject();
jsonFlag = true;
} catch (Exception e) {
jsonFlag = false;
}
System.out.println(”判断字符串是否是json:” + jsonFlag);
// c)从json串中获取属性
String prejson = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName = ”id”;
String propertyValue = ”“;
try {
JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(prejson);
JsonObject jsonObj = element.getAsJsonObject();
propertyValue = jsonObj.get(propertyName).getAsString();
} catch (Exception e) {
propertyValue = null;
}
System.out.println(”从json串中获取属性:” + propertyValue);
// d)除去json中的某个属性
String json1 = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName1 = ”id”;
JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(json1);
JsonObject jsonObj = element.getAsJsonObject();
jsonObj.remove(propertyName1);
json1 = jsonObj.toString();
System.out.println(”除去json中的某个属性:” + json1);
// e)向json中添加属性
String json2 = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
String propertyName2 = ”desc”;
Object propertyValue2 = ”json各种技术的调研”;
JsonParser jsonParser2 = new JsonParser();
JsonElement element2 = jsonParser2.parse(json2);
JsonObject jsonObj2 = element2.getAsJsonObject();
jsonObj2.addProperty(propertyName2, new Gson().toJson(propertyValue2));
json2 = jsonObj2.toString();
System.out.println(”向json中添加属性:” + json2);
// f)修改json中的属性
json = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
propertyName = ”name”;
propertyValue = ”json各种技术的调研”;
jsonParser = new JsonParser();
element = jsonParser.parse(json);
jsonObj = element.getAsJsonObject();
jsonObj.remove(propertyName);
jsonObj.addProperty(propertyName, new Gson().toJson(propertyValue));
json = jsonObj.toString();
System.out.println(”修改json中的属性:” + json);
// g)判断json中是否有属性
json = ”{\”id\”:\”1\”,\”name\”:\”Json技术\”}”;
propertyName = ”name”;
boolean isContains = false;
jsonParser = new JsonParser();
element = jsonParser.parse(json);
jsonObj = element.getAsJsonObject();
isContains = jsonObj.has(propertyName);
System.out.println(”判断json中是否有属性:” + isContains);
// // h)json中日期格式的处理
// GsonBuilder builder = new GsonBuilder();
// builder.setDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”);
// Gson gson = builder.create();
// // 然后使用gson对象进行json的处理,如果出现日期Date类的对象,就会按照设置的格式进行处理
// // i)json中对于Html的转义
// Gson gson = new Gson();
// // 这种对象默认对Html进行转义,如果不想转义使用下面的方法
// GsonBuilder builder = new GsonBuilder();
// builder.disableHtmlEscaping();
// Gson gson = builder.create();
// map <–> json
Map<String, String> colours = new HashMap<String, String>();
colours.put(”BLACK”, “#000000”);
colours.put(”RED”, “#FF0000”);
colours.put(”GREEN”, “#008000”);
colours.put(”BLUE”, “#0000FF”);
colours.put(”YELLOW”, “#FFFF00”);
colours.put(”WHITE”, “#FFFFFF”);
//
// Convert a Map into JSON string.
//
gson = new Gson();
String jsonMap = gson.toJson(colours);
System.out.println(”json = ” + jsonMap);
//
// Convert JSON string back to Map.
//
Type type = new TypeToken<Map<String, String>>() {
}.getType();
Map<String, String> map = gson.fromJson(jsonMap, type);
for (String key : map.keySet()) {
System.out.println(”map.get = ” + map.get(key));
}
}
}
package com.peter.gson.test; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.google.gson.reflect.TypeToken; import com.peter.model.ClassInfo; import com.peter.model.Student; import com.peter.model.Teacher; /** * Gson类:解析json的最基础的工具类 JsonParser类:解析器来解析JSON到JsonElements的解析树 * JsonElement类:一个类代表的JSON元素 JsonObject类:JSON对象类型 JsonArray类:JsonObject数组 * TypeToken类:用于创建type,比如泛型List<?> * * @author Administrator * */ public class Test { public static void main(String[] args) { Gson gson = new Gson(); Student student1 = new Student(); student1.setId(1); student1.setName("李坤"); student1.setBirthDay(new Date()); // ////////////////////////////////////////////////////////// System.out.println("----------简单对象之间的转化-------------"); // 简单的bean转为json String s1 = gson.toJson(student1); System.out.println("简单Bean转化为Json===" + s1); // json转为简单Bean Student student = gson.fromJson(s1, Student.class); System.out.println("Json转为简单Bean===" + student); // 结果: // 简单Bean转化为Json==={"id":1,"name":"李坤","birthDay":"Jun 22, 2012 8:27:52 AM"} // Json转为简单Bean===Student [birthDay=Fri Jun 22 08:27:52 CST 2012, id=1, // name=李坤] // ////////////////////////////////////////////////////////// Student student2 = new Student(); student2.setId(2); student2.setName("曹贵生"); student2.setBirthDay(new Date()); Student student3 = new Student(); student3.setId(3); student3.setName("柳波"); student3.setBirthDay(new Date()); List<Student> list = new ArrayList<Student>(); list.add(student1); list.add(student2); list.add(student3); System.out.println("----------带泛型的List之间的转化-------------"); // 带泛型的list转化为json String s2 = gson.toJson(list); System.out.println("带泛型的list转化为json==" + s2); // json转为带泛型的list List<Student> retList = gson.fromJson(s2, new TypeToken<List<Student>>() { }.getType()); for (Student stu : retList) { System.out.println(stu); } // 结果: // 带泛型的list转化为json==[{"id":1,"name":"李坤","birthDay":"Jun 22, 2012 8:28:52 AM"},{"id":2,"name":"曹贵生","birthDay":"Jun 22, 2012 8:28:52 AM"},{"id":3,"name":"柳波","birthDay":"Jun 22, 2012 8:28:52 AM"}] // Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=1, name=李坤] // Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=2, name=曹贵生] // Student [birthDay=Fri Jun 22 08:28:52 CST 2012, id=3, name=柳波] Teacher t = new Teacher(); t.setJabNum("t101"); t.setName("lijun"); ClassInfo ci = new ClassInfo(); ci.setClassName("cna"); ci.setClassNum(101); ci.setStudents(list); ci.setTeacher(t); String c = gson.toJson(ci); System.out.println("ci to json //////////////"); System.out.println(c); System.out.println("json to ci //////////"); ClassInfo cijson = gson.fromJson(c, ClassInfo.class); System.out.println(cijson); System.out.println("handle date json//////////////////////////"); String jsonDateStr = "{\"id\":1,\"name\":\"peter\",\"birthDay\":\"2013-01-04 10:30:30\"}"; gson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss").create(); Student stu = gson.fromJson(jsonDateStr, Student.class); System.out.println(stu); Gson dategson = new GsonBuilder().setDateFormat("yyyy-MM-dd HH:mm:ss") .create(); String jsonString = dategson.toJson( new Date(System.currentTimeMillis()), Date.class); System.out.println(System.currentTimeMillis()); System.out.println(jsonString); // (6)通过json对象直接操作json以及一些json的工具 // a)格式化Json String json = "[{\"id\":\"1\",\"name\":\"Json技术\"},{\"id\":\"2\",\"name\":\"java技术\"}]"; Gson pregson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(json); json = pregson.toJson(je); System.out.println("格式化Json:" + json); // b)判断字符串是否是json,通过捕捉的异常来判断是否是json String comjson = "{\"id\":\"1\",\"name\":\"Json技术\"}"; boolean jsonFlag = false; try { new JsonParser().parse(comjson).getAsJsonObject(); jsonFlag = true; } catch (Exception e) { jsonFlag = false; } System.out.println("判断字符串是否是json:" + jsonFlag); // c)从json串中获取属性 String prejson = "{\"id\":\"1\",\"name\":\"Json技术\"}"; String propertyName = "id"; String propertyValue = ""; try { JsonParser jsonParser = new JsonParser(); JsonElement element = jsonParser.parse(prejson); JsonObject jsonObj = element.getAsJsonObject(); propertyValue = jsonObj.get(propertyName).getAsString(); } catch (Exception e) { propertyValue = null; } System.out.println("从json串中获取属性:" + propertyValue); // d)除去json中的某个属性 String json1 = "{\"id\":\"1\",\"name\":\"Json技术\"}"; String propertyName1 = "id"; JsonParser jsonParser = new JsonParser(); JsonElement element = jsonParser.parse(json1); JsonObject jsonObj = element.getAsJsonObject(); jsonObj.remove(propertyName1); json1 = jsonObj.toString(); System.out.println("除去json中的某个属性:" + json1); // e)向json中添加属性 String json2 = "{\"id\":\"1\",\"name\":\"Json技术\"}"; String propertyName2 = "desc"; Object propertyValue2 = "json各种技术的调研"; JsonParser jsonParser2 = new JsonParser(); JsonElement element2 = jsonParser2.parse(json2); JsonObject jsonObj2 = element2.getAsJsonObject(); jsonObj2.addProperty(propertyName2, new Gson().toJson(propertyValue2)); json2 = jsonObj2.toString(); System.out.println("向json中添加属性:" + json2); // f)修改json中的属性 json = "{\"id\":\"1\",\"name\":\"Json技术\"}"; propertyName = "name"; propertyValue = "json各种技术的调研"; jsonParser = new JsonParser(); element = jsonParser.parse(json); jsonObj = element.getAsJsonObject(); jsonObj.remove(propertyName); jsonObj.addProperty(propertyName, new Gson().toJson(propertyValue)); json = jsonObj.toString(); System.out.println("修改json中的属性:" + json); // g)判断json中是否有属性 json = "{\"id\":\"1\",\"name\":\"Json技术\"}"; propertyName = "name"; boolean isContains = false; jsonParser = new JsonParser(); element = jsonParser.parse(json); jsonObj = element.getAsJsonObject(); isContains = jsonObj.has(propertyName); System.out.println("判断json中是否有属性:" + isContains); // // h)json中日期格式的处理 // GsonBuilder builder = new GsonBuilder(); // builder.setDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); // Gson gson = builder.create(); // // 然后使用gson对象进行json的处理,如果出现日期Date类的对象,就会按照设置的格式进行处理 // // i)json中对于Html的转义 // Gson gson = new Gson(); // // 这种对象默认对Html进行转义,如果不想转义使用下面的方法 // GsonBuilder builder = new GsonBuilder(); // builder.disableHtmlEscaping(); // Gson gson = builder.create(); // map <--> json Map<String, String> colours = new HashMap<String, String>(); colours.put("BLACK", "#000000"); colours.put("RED", "#FF0000"); colours.put("GREEN", "#008000"); colours.put("BLUE", "#0000FF"); colours.put("YELLOW", "#FFFF00"); colours.put("WHITE", "#FFFFFF"); // // Convert a Map into JSON string. // gson = new Gson(); String jsonMap = gson.toJson(colours); System.out.println("json = " + jsonMap); // // Convert JSON string back to Map. // Type type = new TypeToken<Map<String, String>>() { }.getType(); Map<String, String> map = gson.fromJson(jsonMap, type); for (String key : map.keySet()) { System.out.println("map.get = " + map.get(key)); } } }
运行结果请自行测试学习。
在此,关于Json的学习告一段落.
工程地址: http://download.csdn.net/detail/linpe/9558729
相关文章推荐
- JSON详细学习之Gson in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JSONObject in JAVA
- JSON详细学习之JackSon in JAVA
- How to read and write JSON files in Java(Gson)
- JSON 学习之JSON in JavaScript详细使用说明
- 主题:JSON详细学习之JSON in JavaScript
- Json与Java对象互转之Gson学习
- Exception in thread “main” com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: empty String
- Java--学习(一)关于使用Gson将json字符串转换成对象
- \t\t主题:JSON详细学习之JSON in JavaScript
- JSON详细学习之JSON in JavaScript
- Json与Java对象互转之Gson学习
- Java_Gson json的学习
- JSON 学习之JSON in JavaScript详细使用说明
- JSON详细学习之JSON in JavaScript