找到 2637 篇文章 关于 Java

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

raja
更新于 2020 年 7 月 8 日 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 年 7 月 8 日 07:30:31

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

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

raja
更新于 2020 年 7 月 8 日 07:31:03

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

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

raja
更新于 2020 年 7 月 8 日 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 年 7 月 8 日 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 年 7 月 8 日 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 年 7 月 8 日 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 年 7 月 8 日 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 年 7 月 8 日 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", ... 阅读更多

广告