找到 2637 篇文章 相关 Java

如何在 Java 中使用 JSON-lib API 将 Map 转换为 JSON 对象?

raja
更新于 2020-07-08 08:20:25

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 { ... 阅读更多

如何在 Java 中使用 JSON-lib API 将集合转换为 JSON 数组?

raja
更新于 2020-07-08 07:30:31

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", ... 阅读更多

如何在 Java 中使用 JSON-lib API 向 JSON 对象添加元素?

raja
更新于 2020-07-08 07:31:03

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

我们如何在 Java 中使用 javax.json API 更新现有的 JSON 数据?

raja
更新于 2020-07-08 06:48:13

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\"}]}";       ... 阅读更多

如何在 Java 中使用 ExclusionStrategy 接口序列化和反序列化 JSON?

raja
更新于 2020-07-08 06:48:57

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");     ... 阅读更多

Java 中 Jackson 的 JSON Schema 支持?

raja
更新于 2020-07-08 06:46:35

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 {     ... 阅读更多

Java 中 org.simple.json 和 org.json 库之间的区别?

raja
更新于 2020-07-08 06:19:28

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 {   ... 阅读更多

如何在 Java 中使用 Gson 将 Java 数组或 ArrayList 转换为 JsonArray?

raja
更新于 2020-07-08 06:20:07

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 = ... 阅读更多

如何在 Java 中使用 Gson 解决“Expected BEGIN_OBJECT but was BEGIN_ARRAY”错误?

raja
更新于 2020-07-08 05:49:52

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; ... 阅读更多

如何使用 Java 中的对象模型使用 JsonWriter 序列化 JSON 对象?

raja
更新于 2020-07-08 05:40:56

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", ... 阅读更多

广告