找到 2637 篇文章 相关 Java
5K+ 次查看
JSONObject 是一个无序的名称/值对集合,而 Map 是一个将键映射到值的映射对象。Map 不能包含重复的键,并且每个键最多可以映射到一个值。我们需要使用 JSON-lib 库来序列化和反序列化 JSON 格式的 Map。首先,我们可以创建一个 POJO 类,并将该实例作为参数传递给 Map 类的 put() 方法,最后将此 Map 实例添加到 JSONObject 的 accumulateAll() 方法中。语法public void accumulateAll(Map map)在下面的示例中,我们可以将 Map 转换为 JSON 对象。示例import java.util.*; import net.sf.json.JSONObject; public class ConvertMapToJSONObjectTest { ... 阅读更多
735 次查看
net.sf.json.JSONArray 是一个有序的值序列。它的外部文本形式是用方括号括起来的字符串,用逗号分隔值,内部形式是一个对象,具有 get() 和 opt() 方法(用于通过索引访问值)以及 element() 方法(用于添加或替换值)。这些值可以是以下任何类型:Boolean、JSONArray、JSONObject、Number、String 和 JSONNull 对象。在下面的示例中,我们可以将集合(List)转换为 JSON 数组示例import java.util.*; import net.sf.json.JSONArray; import net.sf.json.JSONSerializer; public class ConvertCollectionToJsonArrayTest { public static void main(String[] args) { List strList = Arrays.asList("India", "Australia", "England", ... 阅读更多
3K+ 次查看
JSON-lib 是一个 Java 库,用于将 Java Bean、Map、数组和集合序列化和反序列化为 JSON 格式。我们可以使用 JSONObject 类的 element() 方法向 JSON 对象添加元素。我们需要下载所有依赖的 jar 包,如 json-lib.jar、ezmorph.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar 和 commons-logging.jar,并在我们的 Java 程序中导入 net.sf.json 包以执行它。语法public JSONObject element(String key, Object value) - 在 JSONObject 中放置一个键/值对示例import java.util.Arrays; import net.sf.json.JSONObject; public class JsonAddElementTest { public static void main(String[] args) { JSONObject jsonObj = new JSONObject() .element("name", "Raja ... 阅读更多
7K+ 次查看
JsonBuilderFactory 接口是用于创建 JsonObjectBuilder 实例的工厂,而 JsonObjectBuilder 是一个用于从头开始创建 JsonObject 模型的构建器。此接口初始化一个空的 JSON 对象模型,并提供方法将名称/值对添加到对象模型并返回结果对象。我们可以创建一个 JsonObjectBuilder 实例,该实例可以使用 createObjectBuilder() 方法来构建 JsonObject。语法JsonObjectBuilder createObjectBuilder()在下面的示例中,我们可以使用新添加的数据更新现有的 JSON 数据。示例import java.io.*; import javax.json.*; public class UpdateExistingJsonTest { public static void main(String[] args) throws Exception { String jsonString = "{\"id\":\"115\", \"name\":\"Raja\", \"address\":[{\"area\":\"Madhapur\", \"city\":\"Hyderabad\"}]}"; ... 阅读更多
624 次查看
ExclusionStrategy 接口可用于在序列化和反序列化期间排除任何字段。我们可以提供 ExclusionStrategy 接口的自定义实现,并需要使用 setExclusionStrategies() 方法在 GsonBuilder 中注册它。它配置 Gson 在序列化和反序列化期间应用一组排除策略。语法public GsonBuilder setExclusionStrategies(ExclusionStrategy... strategies)示例import com.google.gson.*; import com.google.gson.ExclusionStrategy; import com.google.gson.FieldAttributes; public class ExclusionStrategyTest { public static void main(String args[]) throws Exception { Gson gson = new GsonBuilder().setExclusionStrategies(new CustomExclusionStrategy()).create(); Person person = new Person(); person.setFirstName("Adithya"); person.setLastName("Sai"); person.setAddress("Hyderabad"); ... 阅读更多
5K+ 次查看
JSON Schema 是一个基于 JSON 的规范,用于定义 JSON 数据的结构。JsonSchema 类可以为给定应用程序需要哪些 JSON 数据以及如何与之交互提供一个契约。JsonSchema 可以定义 JSON 数据的验证、文档、超链接导航和交互控制。我们可以使用 JsonSchemaGenerator 的 generateSchema() 方法生成 JSON Schema,此类封装了 JSON Schema 生成功能。语法public JsonSchema generateSchema(Class type) throws com.fasterxml.jackson.databind.JsonMappingException示例import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.module.jsonSchema.JsonSchema; import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator; import java.util.List; public class JSONSchemaTest { public static void main(String[] args) throws JsonProcessingException { ... 阅读更多
2K+ 次查看
org.json.simple 库允许我们在 Java 中读取和写入 JSON 数据。换句话说,我们可以编码和解码 JSON 对象。org.json.simple 包包含重要的类,如 JSONValue、JSONObject、JSONArray、JsonString 和 JsonNumber。我们需要安装 json-simple.jar 文件来执行 JSON 程序,而 org.json 库具有用于解析 Java JSON 的类。它还在 JSON 和 XML、HTTP 标头、Cookie 和 CDF 之间进行转换。org.json 包包含重要的类,如 JSONObject、JSONTokener、JSONWriter、JSONArray、CDL、Cookie 和 CookieList。我们需要安装 json.jar 文件来执行 JSON 程序。org.simple.json 包的示例import org.json.simple.JSONObject; public class SimpleJsonTest { ... 阅读更多
6K+ 次查看
Java 数组是存储相同类型多个变量的对象,它保存基本类型和对象引用,而 ArrayList 可以表示对象的可调整大小的列表。我们可以使用列表添加、删除、查找、排序和替换元素。JsonArray 可以解析字符串中的文本以生成类似向量的对象。我们可以使用 Gson 类的 toJsonTree().getAsJsonArray() 方法将数组或 ArrayList 转换为 JsonArray。语法public JsonElement toJsonTree(java.lang.Object src)示例import com.google.gson.*; import java.util.*; public class JavaArrayToJsonArrayTest { public static void main(String args[]) { String[][] strArray = {{"elem1-1", "elem1-2"}, {"elem2-1", "elem2-2"}}; ArrayList arrayList = ... 阅读更多
17K+ 次查看
在反序列化时,Gson 期望一个 JSON 对象,但它可能找到一个 JSON 数组。由于它无法从一种类型转换为另一种类型,因此它可能会在运行时抛出一个错误,例如“JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY”。示例import com.google.gson.Gson; public class GsonErrorTest { public static void main(String args[]) throws Exception { String json = "{\"employee\":[{\"name\":\"Raja Ramesh\", \"technology\":\"java\"}]}"; Gson gson = new Gson(); Software software = gson.fromJson(json, Software.class); System.out.println(software); } } class Software { Employee employee; } class Employee { String name; ... 阅读更多
3K+ 次查看
javax.json.JsonWriter 接口可以将 JSON 对象或数组结构写入输出源。javax.json.JsonWriterFactory 类包含用于创建 JsonWriter 实例的方法。工厂实例可用于使用相同的配置创建多个写入器实例。我们可以使用 javax.json.Json 类的静态方法 createWriter() 从输出源创建写入器。语法public static JsonWriter createWriter(Writer writer)在下面的示例中,我们可以使用 JsonWriter 接口序列化 JSON 对象。示例import java.io.StringWriter; import javax.json.Json; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; import javax.json.JsonWriter; public class JsonWriterTest { public static void main(String[] args) { JsonObject jsonObj = Json.createObjectBuilder() .add("name", ... 阅读更多