找到关于 JSON 的211 篇文章

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

raja
更新于 2020年7月8日 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年7月8日 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) { Employee emp = new Employee("Sai", "Ram", 30, "Bangalore"); JSONObject jsonObj = JSONObject.fromObject(emp); System.out.println(jsonObj.toString(3)); // pretty print JSON emp = (Employee)JSONObject.toBean(jsonObj, Employee.class); System.out.println(emp.toString()); } // Employee class public static ... 阅读更多

Java 中 @JsonFilter 注解的重要性?

raja
更新于 2020年7月8日 11:35:40

812 次浏览

@JsonFilter 注解用于定义自定义过滤器以序列化 Java 对象。我们需要使用 FilterProvider 类来定义过滤器并获取实际的过滤器实例。现在通过将 FilterProvider 分配给 ObjectMapper 类来配置过滤器。语法@Target(value={ANNOTATION_TYPE, TYPE, METHOD, FIELD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonFilter在下面的示例中,声明为 @JsonFilter 注解参数的 customFilter 仅提取名称并过滤掉 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年7月8日 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年7月8日 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年7月8日 11:20:06

409 次浏览

JsonConfig 类可用于配置序列化过程。我们可以使用 JsonConfig 的 setJsonPropertyFilter() 方法在序列化为 JSON 时设置属性过滤器。我们需要通过重写 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年7月8日 11:20:50

224 次浏览

JSON-lib 是一个 Java 库,用于以 JSON 格式序列化和反序列化 Java Bean、映射、数组和集合。我们可以使用 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年7月8日 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年2月19日 07:46:28

446 次浏览

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

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

raja
更新于 2020年7月8日 09:05:50

1K+ 次浏览

JsonConfig 类是一个帮助配置序列化过程的实用程序类。我们可以使用 JsonConfig 类的 setExcludes() 方法将 Bean 转换为具有少量可以排除的属性的 JSON 对象,并将此 JSON 配置实例传递给 JSONObject 的 static 方法 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 ... 阅读更多

广告