当前位置: 首页 > article >正文

JSON 解析

学习笔记

例子

        String json = "{\"title\":\"foo\", \"body\":\"bar\", \"userId\":1}";

这是一个 JSON (JavaScript Object Notation) 格式的字符串。JSON 是一种轻量级的数据交换格式,用于在不同系统或应用之间传输数据,特别是在 web 开发中,它常用于客户端和服务器之间传递数据。

具体来说,这个字符串表示一个包含多个键值对的对象,格式如下:

{
  "title": "foo",
  "body": "bar",
  "userId": 1
}

JSON 的基本语法:

  • 对象:用花括号 {} 包裹,表示一个键值对集合。每个键与值之间用冒号 : 分隔,每对键值对之间用逗号 , 分隔。
  • 数组:用方括号 [] 包裹,表示一个值的集合。
  • :键必须是字符串,通常使用双引号 " 括起来。
  • :值可以是字符串、数字、布尔值、对象、数组,或者 null

例子解析:

{
  "title": "foo",
  "body": "bar",
  "userId": 1
}

在 Java 中使用 JSON

你给出的字符串是一个 JSON 格式的字符串。如果你想在 Java 中使用它,你可以使用一个 JSON 库(例如 org.json, Gson, 或 Jackson)将 JSON 字符串转换为 Java 对象,或者将 Java 对象转换为 JSON 字符串。

1. 使用 org.json 库解析 JSON:
import org.json.JSONObject;

public class Main {
    public static void main(String[] args) {
        String json = "{\"title\":\"foo\", \"body\":\"bar\", \"userId\":1}";

        // 解析 JSON 字符串
        JSONObject jsonObject = new JSONObject(json);

        // 获取 JSON 对象中的数据
        String title = jsonObject.getString("title");
        String body = jsonObject.getString("body");
        int userId = jsonObject.getInt("userId");

        System.out.println("Title: " + title);
        System.out.println("Body: " + body);
        System.out.println("User ID: " + userId);
    }
}

2. 使用 Gson 库解析 JSON:
import com.google.gson.Gson;

class Post {
    String title;
    String body;
    int userId;
}

public class Main {
    public static void main(String[] args) {
        String json = "{\"title\":\"foo\", \"body\":\"bar\", \"userId\":1}";

        // 使用 Gson 解析 JSON 字符串
        Gson gson = new Gson();
        Post post = gson.fromJson(json, Post.class);

        System.out.println("Title: " + post.title);
        System.out.println("Body: " + post.body);
        System.out.println("User ID: " + post.userId);
    }
}

3. 使用 Jackson 库解析 JSON:
import com.fasterxml.jackson.databind.ObjectMapper;

class Post {
    public String title;
    public String body;
    public int userId;
}

public class Main {
    public static void main(String[] args) throws Exception {
        String json = "{\"title\":\"foo\", \"body\":\"bar\", \"userId\":1}";

        // 使用 Jackson 解析 JSON 字符串
        ObjectMapper objectMapper = new ObjectMapper();
        Post post = objectMapper.readValue(json, Post.class);

        System.out.println("Title: " + post.title);
        System.out.println("Body: " + post.body);
        System.out.println("User ID: " + post.userId);
    }
}

总结:

  • JSON 是一种用于存储和传输数据的轻量级格式,广泛用于 web 开发。
  • 你提供的字符串是一个符合 JSON 语法的对象表示。
  • 在 Java 中,你可以通过库(如 Gson, Jackson, org.json)来解析和生成 JSON 数据。

http://www.kler.cn/a/402598.html

相关文章:

  • 【大数据学习 | Spark-Core】详解分区个数
  • Spring Boot3远程调用工具RestClient
  • C语言笔记(自定义类型:结构体、枚举、联合体 )
  • 4-SpringCloud整合服务间的调用即负载均衡
  • C++初阶——类和对象(下)
  • 企业OA管理系统:Spring Boot技术实现与案例研究
  • 从JSON数据提取嵌套字段并转换为独立列的简洁方法
  • JMeter监听器与压测监控之Grafana
  • PostgreSQL外部表FDW【file_fdw】
  • 《现代制造技术与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?
  • 等精度频率计的设计
  • 如何选择聚类算法、回归算法、分类算法?
  • 揭秘云计算 | 5、关于云计算效率的讨论
  • python学习笔记(3)运算符
  • Spring Boot 3.3高级日志配置详解:从 Logback 到 Log4j 2 的全面掌握
  • 优化移位寄存器
  • 【linux】线程概念与控制
  • HarmonyOS:UIAbility组件间交互(设备内)
  • SpringBoot(8)-任务
  • 阿里云IIS虚拟主机部署ssl证书
  • 汉诺塔(hanio)--C语言函数递归
  • 【提效工具开发】管理Python脚本执行系统实现页面展示
  • Android Studio启动模拟器显示超时
  • 基于BindingList的WinForm数据绑定机制与DataGridView动态刷新技术
  • Layui的select控件的onchange事件 无效的解决方法
  • MySQL库和表的操作