找到关于 JSON 的211 篇文章
296 次浏览
JSON 和 XML 都是编程领域最流行的数据传输资源。由于它们各自重要的特性和功能,这两种资源在全球范围内被广泛使用。根据它们的特性,以下是 JSON 和 XML 的重要区别:序号|要点|JSON|XML|---|----|----|----|1|缩写|JSON 代表 JavaScript 对象表示法。而 XML 代表可扩展标记语言。|2|类型|JSON 格式是数据可交换的。而 XML 格式是标记语言。|3|基于|JSON 源自 JavaScript 语言,它具有以对象表示方式表示数据的功能。而 XML 源自 SGML 并使用标签结构... 阅读更多
3K+ 次浏览
JavaScript 可以向服务器发送网络请求并加载 JSON。JS 使用称为 AJAX 的方法来实现这一点。AJAX 代表异步 JavaScript 和 XML。JS 有一个 API,fetch,用于向服务器获取(接收)和发布(发送)信息。您可以使用 fetch 以以下方式获取 JSON 数据:示例const URL = 'https://jsonplaceholder.typicode.com/todos/1' // 向服务器发送不带任何数据的 GET 请求 fetch(URL, {method: "GET"}) // 从原始响应中获取 JSON 数据 .then(res => res.json()) // 打印结果 .then(console.log)输出这将给出以下输出:{ "userId": 1, "id": 1, "title": "delectus ... 阅读更多
7K+ 次浏览
可以使用 @SerializedName 注解来使用不同的名称序列化字段,而不是实际的字段名称。我们可以将预期的序列化名称作为注解属性提供,Gson 可以确保使用提供的名称读取或写入字段。语法@Retention(value=RUNTIME) @Target(value={FIELD, METHOD}) public @interface SerializedName示例import com.google.gson.*; import com.google.gson.annotations.*; public class SerializedNameTest { public static void main(String args[]) { Gson gson = new GsonBuilder().setPrettyPrinting().create(); Person person = new Person(115, "Raja Ramesh", "Hyderabad"); String jsonStr = gson.toJson(person); System.out.println(jsonStr); } } // Person 类 class ... 阅读更多
2K+ 次浏览
可以使用 @JsonAdapter 注解在字段或类级别指定 Gson。TypeAdapter 类可用于将 Java 对象转换为 JSON 和从 JSON 转换。默认情况下,Gson 库使用内置类型适配器将应用程序类转换为 JSON,但我们可以通过提供自定义类型适配器来覆盖它。语法@Retention(value=RUNTIME) @Target(value={TYPE, FIELD}) public @interface JsonAdapter示例import java.io.IOException; import com.google.gson.Gson; import com.google.gson.TypeAdapter; import com.google.gson.annotations.JsonAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; public class JsonAdapterTest { public static void main(String[] args) { Gson gson = new Gson(); System.out.println(gson.toJson(new Customer())); } } // Customer 类 class Customer { ... 阅读更多
15K+ 次浏览
JsonNode 是所有构成 JSON 树模型的 JSON 节点的基类,而 ArrayNode 是表示从 JSON 内容映射的数组的节点类。我们可以通过将 ArrayNode 类型转换为使用 ObjectMapper 类的 readTree() 方法和 get() 方法(用于访问数组节点指定元素的值)来检索值,从而将 JsonNode 转换为 ArrayNode。语法public JsonNode readTree(String content) throws IOException, com.fasterxml.jackson.core.JsonProcessingException示例import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.core.JsonProcessingException; public class JSonNodeToArrayNodeTest { public static void main(String args[]) throws JsonProcessingException { String jsonStr = "{\"Technologies\" : [\"Java\", ... 阅读更多
3K+ 次浏览
com.fasterxml.jackson.databind.node.ObjectNode 类可用于映射 JSON 对象结构中的 JSON 内容。我们可以使用 ObjectNode 类的 get() 方法搜索 JSON 文件中的特定值,此方法用于访问对象节点指定字段的值。语法public JsonNode get(String fieldName)示例import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; public class ObjectNodeTest { public static void main(String args[]) throws Exception { String jsonString = "{\"Id\":101, \"name\":\"Raja Ramesh\", \"address\":\"Madhapur\"}"; ObjectMapper mapper = new ObjectMapper(); ObjectNode node = mapper.readValue(jsonString, ObjectNode.class); if(node.has("name")) { ... 阅读更多
2K+ 次浏览
@ConstructorProperties 注解来自 java.beans 包,用于通过带注解的构造函数将 JSON 反序列化为 java 对象。此注解从 Jackson 2.7 版本开始支持。此注解的工作方式非常简单,与其在构造函数中注释每个参数,不如为每个构造函数参数提供一个包含属性名称的数组。语法@Documented @Target(value=CONSTRUCTOR) @Retention(value=RUNTIME) public @interface ConstructorProperties示例import com.fasterxml.jackson.databind.ObjectMapper; import java.beans.ConstructorProperties; public class ConstructorPropertiesAnnotationTest { public static void main(String args[]) throws Exception { ObjectMapper mapper = new ObjectMapper(); Employee emp = new Employee(115, "Raja"); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(emp); ... 阅读更多
8K+ 次浏览
com.google.gson.JSonElement 类表示 Json 的一个元素。我们可以使用 Gson 类的 toJsonTree() 方法将对象的表示序列化为 JsonElements 树。我们可以使用 JSonElement 的 getAsJsonObject() 方法向 JSON 字符串添加/插入额外的属性。此方法返回将元素作为 JsonObject 获取。语法public JsonObject getAsJsonObject()示例import com.google.gson.*; public class AddPropertyGsonTest { public static void main(String[] args) { Gson gson = new GsonBuilder().setPrettyPrinting().create();// 格式化打印 JSON Student student = new Student("Adithya"); String jsonStr = gson.toJson(student, Student.class); System.out.println("JSON 字符串: " + jsonStr); ... 阅读更多
613 次浏览
@JsonUnwrapped 注解可用于在序列化和反序列化过程中解包值。它有助于将组合类的值呈现为属于父类。语法@Target(value={ANNOTATION_TYPE, FIELD, METHOD, PARAMETER}) @Retention(value=RUNTIME) public @interface JsonUnwrapped示例import com.fasterxml.jackson.annotation.JsonUnwrapped; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.core.JsonProcessingException; public class JsonUnwrappedAnnotationTest { public static void main(String args[]) throws JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(new Employee()); System.out.println(jsonString); } } class Employee { public int empId = 110; public String empName = "Raja Ramesh"; @JsonUnwrapped ... 阅读更多