本文目錄一覽:
- 1、MVC 返回json數據 怎麼忽略序列化某個屬性怎麼解決
- 2、springmvc配置文件 序列化
- 3、spring mvc4.x怎麼返回json格式
- 4、一個json字元串怎麼序列化成json對象 NET mvc5 後台
- 5、vue json序列化 springmvc怎麼解析
- 6、spring MVC註解問題及怎樣返回json數據
MVC 返回json數據 怎麼忽略序列化某個屬性怎麼解決
JsonIgnoreAttribute是Json.net中的屬性吧,JsonResult用的是JavaScriptSerializer序列化的,所以那個屬性沒意義,除非你自己用Json.net實現自己的JsonResult,或者在初始化model對象後,把不想序列化的屬性值設為空或null,還有一個辦法就是定義專用的View Model類,只定義需要的屬性。
springmvc配置文件 序列化
方法1
一般需要為第三方java類實現序列化規則使用,這裡以boolean轉int為例(true/false-1/0),代碼如下
// 1 編寫自定義序列化類,實現JsonSerializer介面public class BooleanSerializer extends JsonSerializerBoolean {
@Override
public void serialize(Boolean value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (value != null value) {
gen.writeNumber(1);
} else {
gen.writeNumber(0);
}
}}// 2 測試public class Test {
@Test
public void globalSerialize() throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule simpleModule = new SimpleModule();
BooleanSerializer serializer = new BooleanSerializer();
simpleModule.addSerializer(Boolean.class,serializer);
simpleModule.addSerializer(boolean.class,serializer);
objectMapper.registerModule(simpleModule);
// 輸出 1
System.out.println(objectMapper.writeValueAsString(true));
}}
在SpringBoot中只要將SimpleModule註冊到容器中,容器會自動配置到Jackson上。全部配置代碼如下,測試略
@Configurationpublic class JacksonConfig {
/**
* 自定義boolean類型序列化規則
*/
static class BooleanSerializer extends JsonSerializerBoolean {
@Override
public void serialize(Boolean value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
if (value != null value) {
gen.writeNumber(1);
} else {
gen.writeNumber(0);
}
}
}
@Bean
public SimpleModule simpleModule() {
SimpleModule module = new SimpleModule();
BooleanSerializer serializer = new BooleanSerializer();
module.addSerializer(Boolean.class, serializer);
module.addSerializer(boolean.class, serializer);
return module;
}}
方法2
自定義java類使用,以User類為例
@Datapublic class User {
private Integer id;
private String name;}// 1 自定義序列化類實現JsonSerializer介面public static class UserSerializer extends JsonSerializerUser {
// 假設序列化時,為每個欄位增加u前綴
@Override
public void serialize(User value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
gen.writeStartObject();
gen.writeNumberField(“uid”, value.getId());
gen.writeStringField(“uname”, value.getName());
gen.writeEndObject();
}}// 2 通過@JsonSerialize註解指定序列化類@JsonSerialize(using = UserSerializer.class)public static class User {略}// 3 測試public class Test {
@Test
public void serializer() throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
User user = new User();
user.setId(1);
user.setName(“ly”);
String json = objectMapper.writeValueAsString(user);
// 輸出 {“uid”:1,”uname”:”ly”}
System.out.println(json);
}}
spring mvc4.x怎麼返回json格式
SpringMVC返回json數據有三種方式
1、第一種方式是spring2時代的產物,也就是每個json視圖controller配置一個Jsoniew。如:bean id=”defaultJsonView” class=”org.springframework.web.servlet.view.json.MappingJacksonJsonView”/ 或者bean id=”defaultJsonView” class=”org.springframework.web.servlet.view.json.MappingJackson2JsonView”/同樣要用jackson的jar包。
2、第二種使用JSON工具將對象序列化成json,常用工具Jackson,fastjson,gson。
利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWriter()
直接輸出。
示例:
[java] view plain copy print?
public class JsonUtil
{
private static Gson gson=new Gson();
/**
* @MethodName : toJson
* @Description : 將對象轉為JSON串,此方法能夠滿足大部分需求
* @param src
* :將要被轉化的對象
* @return :轉化後的JSON串
*/
public static String toJson(Object src) {
if (src == null) {
return gson.toJson(JsonNull.INSTANCE);
}
return gson.toJson(src);
}
}
3、第三種利用spring mvc3的註解@ResponseBody
例如:
[java] view plain copy print?
@ResponseBody
@RequestMapping(“/list”)
public ListString list(ModelMap modelMap) {
String hql = “select c from Clothing c “;
PageClothing page = new PageClothing();
page.setPageSize(6);
page = clothingServiceImpl.queryForPageByHql(page, hql);
return page.getResult();
}
然後使用spring mvc的默認配置就可以返回json了,不過需要jackson的jar包
一個json字元串怎麼序列化成json對象 NET mvc5 後台
json作為作為一種最常用的數據,應用很廣泛,在.net中如何把一個對象轉化為json字元串主要有一下幾種方法:
按照json的定義自己轉化,難度很大,但很靈活。需要自己處理各種特殊字元,各種數據類型
使用開源的類庫Newtonsoft.Json
使用JavaScriptSerializer類
使用System.Runtime.Serialization.dll提供的DataContractJsonSerializer或者 JsonReaderWriterFactory實現。
希望可以幫助到你,有什麼問題你可以繼續追問,沒問題望採納,謝謝!
vue json序列化 springmvc怎麼解析
JSON語法可以表示以下三種類型的值。
1.簡單值
//json表示數值5″hello world” //json表示字元串12
javascript 字元串和 json 字元串的最大區別是,json 字元串必須使用雙引號(單引號會導致語法錯)。
布爾值和null也是有效的 json 形式,但是在實際應用中,json更多的用來表示更複雜的數據結構。123
2.對象
//json表達對象{
“name”:”unamattin”, “age”:”18″, “scholl”:{ “name”:”北京大學”, “location”:”北京”
}
}
與 javascript 的對象自變數相比,json 對象有兩個地方不一樣,首先,沒有聲明變數(json沒有變數的概念);其次,沒有末尾分號。
這個例子在頂級對象中嵌入了 school 信息。雖然有兩個 “name” 屬性,但由於它們分別屬於不同的對象,因此完全沒有問題。
spring MVC註解問題及怎樣返回json數據
1、第一種方式是spring2時代的產物,也就是每個json視圖controller配置一個Jsoniew。
如:bean id=”defaultJsonView” class=”org.springframework.web.servlet.view.json.MappingJacksonJsonView”/
或者bean id=”defaultJsonView” class=”org.springframework.web.servlet.view.json.MappingJackson2JsonView”/
同樣要用jackson的jar包。
2、第二種使用JSON工具將對象序列化成json,常用工具Jackson,fastjson,gson。
利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWriter()
直接輸出。
示例:
3、第三種利用spring mvc3的註解@ResponseBody
例如:
然後使用spring mvc的默認配置就可以返回json了,不過需要jackson的jar包哦。
注意:當springMVC-servlet.xml中使用mvc:annotation-driven /時,如果是3.1之前已經默認注入AnnotationMethodHandlerAdapter,3.1之後默認注入RequestMappingHandlerAdapter只需加上上面提及的jar包即可!
如果是手動注入RequestMappingHandlerAdapter 可以這樣設置
配置如下:
添加包
jackson-mapper-asl-*.jar
jackson-core-asl-*.jar
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297960.html