JSON
Gson: 来自Google,功能全面、快速、简洁、面向对象、数据传递和解析方便。
Jackson:来源FasterXML项目,社区活跃,更新快 解析速度和效率比Gson快,但无法按需解析,必须解析所有的KEY,逐层转换。
FastJson: 来自alibaba,性能优秀,但标准性兼容性不如Jackson,对部分特殊字符无法转换,非逐层转换,所以子元素需要再次转换。
FastJson
import com.alibaba.fastjson.JSONObject; // -> Object Object parse(String str) JSONObject parseObject(String str) JSONArray parseArray(String str) // -> bean T parseObject(String text, Class clazz) //一个bean对象的解析生成 List parseArray(String text, Class clazz) //多个bean对象的解析生成 // bean -> json String toJSONString(Object object) String toJSONString(Object object, boolean prettyFormat) Object toJSON(Object javaObject) // json -> date JSON.toJSONString(resultMap,SerializerFeature.WriteDateUseDateFormat);
引用
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
常用类型->JSON
JSONObject object = new JSONObject(); object.put("string","string"); object.put("int",2); object.put("boolean",true); List<Integer> integers = Arrays.asList(1,2,3); object.put("list",integers); object.put("null",null); System.out.println(object);
{"boolean":true,"string":"string","list":[1,2,3],"int":2}
JSONObject object = JSONObject.parseObject("{\"boolean\":true,\"string\":\"string\",\"list\":[1,2,3],\"int\":2}");
String s = object.getString("string");
System.out.println(s); //String
int i = object.getIntValue("int");
System.out.println(i); //2
boolean b = object.getBooleanValue("boolean");
System.out.println(b); //true
List<Integer> integers = JSON.parseArray(object.getJSONArray("list").toJSONString(),Integer.class);
integers.forEach(System.out::println); //1 2 3
System.out.println(object.getString("null")); //null
API
public class JSONObject extends JSON implements Map<String, Object>, Cloneable, Serializable, InvocationHandler
.
liehen2046
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。
浙公网安备 33010602011771号