找到 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 对象。在下面的示例中,我们可以将集合(列表)转换为 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、映射、数组和集合序列化和反序列化为 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", ... 阅读更多