java中FastJson的json類型轉換


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
Method Summary
 void clear()
           
 Object clone()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<String,Object>> entrySet()
           
 boolean equals(Object obj)
           
 Object get(Object key)
           
 BigDecimal getBigDecimal(String key)
           
 BigInteger getBigInteger(String key)
           
 Boolean getBoolean(String key)
           
 boolean getBooleanValue(String key)
           
 Byte getByte(String key)
           
 byte[] getBytes(String key)
           
 byte getByteValue(String key)
           
 Date getDate(String key)
           
 Double getDouble(String key)
           
 double getDoubleValue(String key)
           
 Float getFloat(String key)
           
 float getFloatValue(String key)
           
 Integer getInteger(String key)
           
 int getIntValue(String key)
           
 JSONArray getJSONArray(String key)
           
 JSONObject getJSONObject(String key)
           
 Long getLong(String key)
           
 long getLongValue(String key)
           
<T> T
getObject(String key, Class<T> clazz)
           
 Short getShort(String key)
           
 short getShortValue(String key)
           
 Date getSqlDate(String key)
           
 String getString(String key)
           
 Timestamp getTimestamp(String key)
           
 int hashCode()
           
 Object invoke(Object proxy, Method method, Object[] args)
           
 boolean isEmpty()
           
 Set<String> keySet()
           
 Object put(String key, Object value)
           
 void putAll(Map<? extends String,? extends Object> m)
           
 Object remove(Object key)
           
 int size()
           
 Collection<Object> values()  

.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM