本文目录一览:
- 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