JSON数据结构详解(小白版)

一、JSON对象结构

JSON对象就像一张表格,用大括号 {} 包裹,里面是“键值对”:
{
    "name": "小明",
    "age": 18,
    "isStudent": true
}
特点:
  1. 用大括号 {} 包裹。
  2. 键值对用冒号 : 分隔。
  3. 键值对之间用逗号 , 分隔。
  4. 键必须是字符串(用双引号包裹)。
  5. 值可以是:
  • 字符串(用双引号)
  • 数字(不用引号)
  • 布尔值(true/false
  • 对象(嵌套的 {}
  • 数组([]
  • null

二、JSON数组结构

JSON数组就像一列数据,用中括号 [] 包裹:
[
    "苹果",
    "香蕉",
    "橙子"
]

特点:
  1. 用中括号 [] 包裹。
  2. 元素之间用逗号 , 分隔。
  3. 数组中的元素可以是:
  • 字符串
  • 数字
  • 布尔值
  • 对象
  • 数组
  • null

三、实际例子


五、实际项目中的例子

1. 简单对象 JSONJSON
{
  "student": {
    "name": "小明",
    "age": 18,
    "scores": [90, 85, 95]
  }
}

2. 对象数组 JSONJSON
{
  "class": {
    "name": "三年级班",
    "students": [
      {
        "name": "小明",
        "age": 18
      },
      {
        "name": "小红",
        "age": 17
      }
    ]
  }
}

3. 复杂嵌套 JSONJSON
{
  "school": {
    "name": "实验中学",
    "classes": [
      {
        "name": "三年级二班",
        "students": [
          {
            "name": "小明",
            "scores": {
              "math": 90,
              "english": 85
            }
          }
        ]
      }
    ]
  }
}

 


Java 中的对应关系

1. JSON对象 → Java类
// JSON
{
  "name": "小明",
  "age": 18
}

// Java类
public class Student {
    String name;
    int age;
}
2. JSON数组 → Java Listjava
// JSON
[
  "苹果",
  "香蕉",
  "橙子"
]

// Java
List<String> fruits;
3. 对象数组 → List<类>java
// JSON
{
  "students": [
    {"name": "小明", "age": 18},
    {"name": "小红", "age": 17}
  ]
}

// Java类
public class ClassInfo {
    List<Student> students;
}

public class Student {
    String name;
    int age;
}
4. 实际项目中的例子JSON
{
    "code": 200,
    "data": [
        {
            "value": "60",
            "name": "湿度"
        },
        {
            "value": "true",
            "name": "LED"
        },
        {
            "value": "25",
            "name": "温度"
        }
    ],
    "msg": "success"
}
对应的 Java 类:
public class JsonRootBean {
    int code;                // 对应 "code": 200
    List<Data> data;         // 对应 "data" 数组
    String msg;              // 对应 "msg": "success"
}

public class Data {
    String value;            // 对应 "value": "60"
    String name;             // 对应 "name": "湿度"
}

六、注意事项

  1. JSON的键名要和Java类的字段名完全一致。
  2. 数组在Java中用List表示。
  3. 嵌套的对象需要创建对应的类。
  4. 注意数据类型要匹配(字符串、数字、布尔值等)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值