json在springMVC中的使用

xiaoxiao2021-02-28  72

json(javascript Object Notation)是一种轻量级的数据交换格式。它是一种基于EMCAScript规范的子集。

格式

其对象表示为键值对。 数据由逗号分隔。 花括号表示对象。 方括号表示数组。


JSON 键值对是用来保存 JS 对象的一种方式,和 JS 对象的写法也大同小异,键/值对组合中的键名写在前面并用双引号 “” 包裹,使用冒号 : 分隔,然后紧接着值: 1 {“firstName”: “John”} 这很容易理解,等价于这条 JavaScript 语句: 1 {firstName: “John”} 用json来表示对象数组,示例: [ { “from”:”小王”, “to”:”周”, “content”:”好好工作!”, “type”:1 }, { “from”:”周”, “to”:”小王”, “content”:”我会加油的,争取早日回到中南海”, “type”:2 } ] 在springMVC中,json是一种数据的呈现方式,使用ViewResolver的方式,就可以处理不同的数据呈现格式。ContentNegotiatingViewResolver 以下是ContentNegotiatingViewResolver在spring中的配置

<!-- 一个xml中可以配置多个ViewResolver,使用order属性排序。 InternalSourceViewResolver放在最后--> <bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver"> <!-- 设置为true以忽略对Accept Header的支持--> <property name="ignoreAcceptHeader" value="true" /> <!-- true,开启扩展名支持,false关闭支持 --> <property name="favorPathExtension" value="false" /> <!-- 用于开启 /userinfo/123?format=json的支持 --> <property name="favorParameter" value="true" /> <property name="order" value="1"/> <!-- 在没有扩展名和参数时即: "/user/1" 时的默认展现形式 --> <property name="defaultContentType" value="text/html" /> <!-- 参数值至mimeType的映射,即 /rest?format=json json是key,application/json就是value 暂时只支持json和xml --> <property name="mediaTypes"> <map> <entry key="json" value="application/json" /> <entry key="xml" value="application/xml" /> </map> </property> <property name="viewResolvers"> <!-- 关闭所有的解析器,防止它在查找候选视图时多个解析器都运行 --> <list></list> </property> <property name="defaultViews"> <list> <!-- for application/json --> <bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"> <!-- <property name="renderedAttributes">--> <!-- <set>--> <!-- <value>result</value>--> <!-- <value>user</value>--> <!-- <value>page</value>--> <!-- </set>--> <!-- </property>--> <!-- 重新设置 objectMapper--> <property name="objectMapper"> <bean class="org.codehaus.jackson.map.ObjectMapper"> <!-- 设置objectMapper的serializationConfig的serializationInclusion属性,以忽略null对象 --> <property name="serializationConfig.serializationInclusion"> <value type="org.codehaus.jackson.map.annotate.JsonSerialize.Inclusion">NON_NULL</value> </property> </bean> </property> </bean> <!-- for application/xml --> <bean class="org.springframework.web.servlet.view.xml.MarshallingView"> <property name="marshaller"> <bean class="org.springframework.oxm.castor.CastorMarshaller"> <property name="validating" value="false"></property> </bean> </property> </bean> </list> </property>

转载请注明原文地址: https://www.6miu.com/read-64343.html

最新回复(0)