21xrx.com
2024-11-25 01:09:13 Monday
登录
文章检索 我的文章 写文章
Java原生JSON解析方法及应用案例
2023-06-15 14:52:49 深夜i     --     --
Java JSON 解析 生成 API 示例

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,已经成为了前后端数据交互的主流格式之一。Java中有很多第三方的JSON解析库,比如Gson和Jackson,但有些场景下我们只需要轻量级的JSON解析,这时候就可以使用Java原生的JSON API。

Java原生JSON API包含在JDK中的java.json包中,它提供了一组非常简单的类和方法,可以方便地将JSON转换为Java对象,也可以将Java对象转换为JSON。下面是一个简单的使用示例:


import javax.json.Json;

import javax.json.JsonObject;

import javax.json.JsonReader;

public class JsonParseDemo {

  public static void main(String[] args) {

    String jsonStr = "{\"name\":\"Alice\",\"age\":18,\"hobbies\":[\"reading\",\"swimming\"]}";

    JsonReader reader = Json.createReader(new StringReader(jsonStr));

    JsonObject jsonObject = reader.readObject();

    reader.close();

    String name = jsonObject.getString("name");

    int age = jsonObject.getInt("age");

    JsonArray hobbies = jsonObject.getJsonArray("hobbies");

    System.out.println("Name: " + name);

    System.out.println("Age: " + age);

    System.out.println("Hobbies: " + hobbies);

  }

}

上面的示例中,我们使用了Json.createReader方法创建一个JsonReader对象,然后调用它的readObject方法将JSON字符串转换为JsonObject对象,之后就可以通过JsonObject对象的一系列方法来获取其中的字段值了。

除了将JSON字符串转换为对象外,我们还可以将Java对象转换为JSON字符串。Java原生JSON API提供了JsonValue和JsonStructure接口,它们可以表示JSON中的值和结构,包括字符串、数字、布尔值、数组和对象。下面是一个使用示例:


import javax.json.Json;

import javax.json.JsonObject;

import javax.json.JsonWriter;

import java.io.StringWriter;

public class JsonGenerateDemo {

  public static void main(String[] args) {

    JsonObject jsonObject = Json.createObjectBuilder()

        .add("name", "Bob")

        .add("age", 20)

        .add("gender", "male")

        .build();

    StringWriter stringWriter = new StringWriter();

    JsonWriter jsonWriter = Json.createWriter(stringWriter);

    jsonWriter.writeObject(jsonObject);

    jsonWriter.close();

    String jsonStr = stringWriter.toString();

    System.out.println(jsonStr);

  }

}

上面的示例中,我们使用了Json.createObjectBuilder方法创建一个JsonObjectBuilder对象,然后使用它的一系列add方法逐个添加字段和值,最后调用它的build方法生成一个JsonObject对象。然后创建一个StringWriter对象和一个JsonWriter对象,将JsonObject对象转换为JSON字符串,并打印出来。

通过以上两个示例,可以看出Java原生JSON API非常简单易用。使用它可以快速灵活地进行JSON数据的解析和生成。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复