首页 > 代码库 > JSON

JSON

JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

  • 对象表示为键值对
  • 数据由逗号分隔
  • 花括号保存对象
  • 方括号保存数组

fastjson的使用

阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:
速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java Json parser。包括自称最快的JackJson;
功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

  1. public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray 
  2. public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject    
  3. public static final  T parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean 
  4. public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray 
  5. public static final  List parseArray(String text, Class clazz); //把JSON文本parse成JavaBean集合 
  6. public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本 
  7. public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本 
  8. public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。
<mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property
                    name="supportedMediaTypes"
                    value="application/json;charset=UTF-8" />
            </bean>
            <!-- 配置Fastjson支持 -->
            <bean
                class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json</value>
                    </list>
                </property>
                <!-- json转换规则 -->
                <property name="features">
                    <list>
                        <value>WriteMapNullValue</value>
                        <value>QuoteFieldNames</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>

代码中使用@ResponseBody

 

JSON