找到 2637 篇文章 关于 Java

在 Java 中使用 Jackson API 的 @JsonRawValue 注解有什么作用?

raja
更新于 2020-07-08 11:38:24

1K+ 阅读量

@JsonRawValue 注解可用于方法和字段,以序列化声明的字段或属性。例如,如果我们在 Java 类中有一个 String 字段,则 JSON 值用引号 (“ ") 括起来。但是,当我们用 @JsonRawValue 注解该字段时,Jackson 库会省略引号。语法@Target(value={ANNOTATION_TYPE, METHOD, FIELD}) @Retention(value=RUNTIME) public @interface JsonRawValue在下面的示例中,empAddress 字段是一个 JSON 字符串。此 JSON 字符串被序列化为 Employee 对象的最终 JSON 字符串的一部分。示例import com.fasterxml.jackson.annotation.JsonRawValue; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class JsonRawValueAnnotationTest {    public static void main(String args[]) throws JsonProcessingException { ... 阅读更多

如何在 Java 中使用 JSON-lib API 将 JSON 对象转换为 Bean?

raja
更新于 2020-07-08 11:34:52

3K+ 阅读量

JSONObject 类是名称/值对(无序)的集合,其中 Bean 是一个类,其成员字段具有 setter 和 getter 方法。我们可以使用 JSONObject 类的 toBean() 方法将 JSON 对象转换为 Bean。语法public static Object toBean(JSONObject jsonObject, Class beanClass)示例import net.sf.json.JSONObject; public class ConvertJSONObjToBeanTest {    public static void main(String[] args) {       mployee emp = new Employee("Sai", "Ram", 30, "Bangalore");       JSONObject jsonObj = JSONObject.fromObject(emp);       System.out.println(jsonObj.toString(3)); // 格式化输出 JSON       emp = (Employee)JSONObject.toBean(jsonObj, Employee.class);       System.out.println(emp.toString());    }    // Employee 类    public static ... 阅读更多

Java 中 @JsonFilter 注解的重要性?

raja
更新于 2020-07-08 11:35:40

813 阅读量

@JsonFilter 注解用于定义自定义过滤器以序列化 Java 对象。我们需要使用 FilterProvider 类来定义过滤器并获取实际的过滤器实例。现在通过将 FilterProvider 分配给 ObjectMapper 类来配置过滤器。语法@Target(value={ANNOTATION_TYPE, TYPE, METHOD, FIELD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonFilter在下面的示例中,自定义过滤器 customFilter 可以声明为 @JsonFilter 注解的参数,它仅提取名称并过滤掉 Bean 的其他属性。示例import com.fasterxml.jackson.annotation.JsonFilter; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ser.FilterProvider; import com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter; import com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider; public class JsonFilterAnnotationTest {    public static void main(String args[]) throws JsonProcessingException {       ... 阅读更多

何时在 Java 中使用 Jackson 的 @JsonManagedReference 和 @JsonBackReference 注解?

raja
更新于 2020-07-08 11:36:22

4K+ 阅读量

@JsonManagedReference 和 @JsonBackReference 注解可用于以双向方式创建 JSON 结构。@JsonManagedReference 注解是正向引用,在序列化过程中包含在内,而 @JsonBackReference 注解是反向引用,在序列化过程中省略。在下面的示例中,我们可以实现 @JsonManagedReference 和 @JsonBackReference 注解。示例import java.util.*; import com.fasterxml.jackson.annotation.JsonManagedReference; import com.fasterxml.jackson.annotation.JsonBackReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class ManagedReferenceBackReferenceTest {    public static void main(String args[]) throws JsonProcessingException {       BackReferenceBeanTest testBean = new BackReferenceBeanTest(110, "Sai Chaitanya");       ManagedReferenceBeanTest bean = new ManagedReferenceBeanTest(135, "Adithya Ram", testBean);       testBean.addEmployees(bean);       ObjectMapper mapper = ... 阅读更多

Java 中使用 Jackson 的 @JsonView 注解的重要性?

raja
更新于 2020-07-08 11:19:19

1K+ 阅读量

JsonView 注解可用于在序列化和反序列化过程中动态地包含/排除属性。我们需要配置 ObjectMapper 类以包含用于使用 writerWithView() 方法从 Java 对象写入 JSON 的视图类型。语法@Target(value={ANNOTATION_TYPE, METHOD, FIELD}) @Retention(value=RUNTIME) public @interface JsonView示例import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonView; import com.fasterxml.jackson.core.JsonProcessingException; public class JsonViewAnnotationTest {    public static void main(String args[]) throws JsonProcessingException {       ObjectMapper objectMapper = new ObjectMapper();       String jsonString = objectMapper.writerWithView(Views.Public.class).writeValueAsString(new Person());       String jsonStringInternal = objectMapper.writerWithView(Views.Internal.class).writeValueAsString(new Person());       System.out.println(jsonString);       System.out.println(jsonStringInternal);    } } ... 阅读更多

如何在 Java 中使用排除过滤器将 Bean 转换为 JSON 对象?

raja
更新于 2020-07-08 11:20:06

409 阅读量

JsonConfig 类可用于配置序列化过程。在序列化为 JSON 时,我们可以使用 JsonConfig 的 setJsonPropertyFilter() 方法设置属性过滤器。我们需要通过覆盖 PropertyFilter 接口的 apply() 方法来实现自定义 PropertyFilter 类。如果属性将被过滤掉,则返回 true,否则返回 false。语法public void setJsonPropertyFilter(PropertyFilter jsonPropertyFilter)示例import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.PropertyFilter; public class ConvertBeanToJsonExcludeFilterTest {    public static void main(String[] args) {       Student student = new Student("Sai", "Chaitanya", 20, "Hyderabad");       JsonConfig jsonConfig = new JsonConfig();       jsonConfig.setJsonPropertyFilter(new CustomPropertyFilter());       ... 阅读更多

如何在 Java 中使用 JSON-lib API 将 Bean 转换为不带类型提示的 XML?

raja
更新于 2020-07-08 11:20:50

224 阅读量

JSON-lib 是一个 Java 库,用于将 Java Bean、Map、数组和集合序列化和反序列化为 JSON 格式。我们可以使用 XMLSerializer 类的 setTypeHintsEnabled() 方法将 Bean 转换为不带类型提示的 XML,此方法设置是否可以将 JSON 类型包含为属性。我们可以将 false 作为参数传递给此方法以禁用 XML 中的类型提示。语法public void setTypeHintsEnabled(boolean typeHintsEnabled)示例import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; public class ConvertBeanToXMLNoHintsTest {    public static void main(String[] args) {       Employee emp = new Employee("Krishna Vamsi", 115, 30, "Java");       JSONObject jsonObj = JSONObject.fromObject(emp);     ... 阅读更多

如何在 Java 中使用 JSON-lib API 将 Bean 转换为 XML?

raja
更新于 2020-07-08 11:16:03

256 阅读量

net.sf.json.xml.XMLSerializer 类是一个用于将 JSON 转换为 XML 的实用程序类。在将 JSONObject 实例转换为 XML 时,此类可以添加用于转换回 JSON 的提示。我们可以使用 XMLSerializer 类的 write() 方法将 JSON 值写入具有 UTF-8 编码的 XML 字符串,它可以返回一个格式良好的 XML 文档的字符串表示形式。语法public String write(JSON json)示例import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; public class ConvertBeanToXMLTest {    public static void main(String[] args) {       Student student = new Student("Sai", "Adithya", 25, "Pune");       JSONObject jsonObj = JSONObject.fromObject(student);       System.out.println(jsonObj.toString(3)); //JSON 格式化输出 ... 阅读更多

如何在 Java 中使用 JSON-lib API 将数组转换为 JSON 数组?

raja
更新于 2020-02-19 07:46:28

446 次浏览

Java 数组是一个存储多个相同类型变量的对象,它可以保存基本类型和对象引用,而 JSONArray 是一个有序的值序列。它的外部文本形式是用方括号括起来的字符串,用逗号分隔值,内部形式是一个对象,具有 get() 和 opt() 方法用于通过索引访问值,以及 element() 方法用于添加或替换值。在第一步中,我们可以创建一个 Object[] 数组并将此参数作为参数传递给 JSONSerializer 类的 toJSON(),并将其强制转换为获取 JSON 数组。我们可以在下面的示例中将 Object[] 数组转换为 JSONArray示例import ... 阅读更多

如何在 Java 中使用 JsonConfig 将 Bean 转换为 JSON 对象并排除某些属性?

raja
更新于 2020-07-08 09:05:50

1K+ 阅读量

JsonConfig 类是一个帮助配置序列化过程的实用程序类。我们可以将 Bean 转换为具有可以排除的少量属性的 JSON 对象,方法是使用 JsonConfig 类的 setExcludes() 方法,并将此 JSON 配置实例传递给 JSONObject 的静态方法 fromObject() 的参数。语法public void setExcludes(String[] excludes)在下面的示例中,我们可以通过排除某些属性将 Bean 转换为 JSON 对象。示例import net.sf.json.JSONObject; import net.sf.json.JsonConfig; public class BeanToJsonExcludeTest {    public static void main(String[] args) {       Student student = new Student("Raja", "Ramesh", 35, "Madhapur");       JsonConfig jsonConfig = new ... 阅读更多

广告