Java使用Gson处理Json

一、Java使用Gson取Json字符串中Json数组里面的Json对象值

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;

public class GsonTest {
    public static void main(String[] args) {
        // 假设这是从某个API接口返回的JSON字符串
        String jsonString = "{\"data\":[{\"name\":\"Alice\", \"age\":25}, {\"name\":\"Bob\", \"age\":30}]}";

        // 创建Gson实例
        Gson gson = new Gson();

        // 解析JSON字符串为JsonObject
        JsonObject jsonObject = gson.fromJson(jsonString, JsonObject.class);

        // 从JsonObject中获取名为"data"的JsonArray
        JsonArray jsonArray = jsonObject.getAsJsonArray("data");

        // 遍历JsonArray
        for (JsonElement jsonElement : jsonArray) {
            // 获取JsonObject
            JsonObject dataObject = jsonElement.getAsJsonObject();

            // 从JsonObject中取出name和age字段的值
            String name = dataObject.get("name").getAsString();
            int age = dataObject.get("age").getAsInt();

            // 打印取出的值
            System.out.println("Name: " + name + ", Age: " + age);
        }
    }
}

二、Java使用Gson将Json对象转为Json字符串

import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class GsonToJsonString {
    public static void main(String[] args) {
        // 创建一个Gson实例
        Gson gson = new Gson();

        // 创建一个JsonObject
        JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("name", "Alice");
        jsonObject.addProperty("age", 25);

        // 将JsonObject转换为JSON字符串
        String jsonString = gson.toJson(jsonObject);

        // 打印JSON字符串
        System.out.println(jsonString);

	    // 如需要格式化输出(带缩进的)JSON字符串,可以使用GsonBuilder来创建一个Gson实例,启用格式化输出
       // 创建一个GsonBuilder实例,并启用格式化输出
		Gson prettyGson = new GsonBuilder().setPrettyPrinting().create();

	   // 使用prettyGson将JsonObject转换为格式化的JSON字符串
        String prettyJsonString = prettyGson.toJson(jsonObject);

      // 打印格式化的JSON字符串
        System.out.println(prettyJsonString);
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值