找到关于 JSON 的211 篇文章

在 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

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-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 时使用 JsonConfigsetJsonPropertyFilter() 方法来设置属性过滤器。我们需要通过重写 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、映射、数组和集合序列化和反序列化为 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。阅读更多

如何在 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 ... 阅读更多

广告