一次性讲明白:什么是 Object、Array[Object](结合高德接口)
同学们,这一节我们不讲抽象概念。我们直接看一个真实的接口返回数据,你只要把这个看懂了:
- 变量
- Object
- Array
全部就通了。
一、先看一眼真实数据(不用慌)
这是高德天气接口返回的一部分:
{"status":"1","count":"1","forecasts":[{"city":"长春市","province":"吉林","casts":[{"date":"2026-04-09","dayweather":"小雨","daytemp":"12"}]}]}很多同学看到这个就懵了。
其实你只要按我这个顺序看,就非常简单。
二、第一步:先找“最外层”
最外面这一层:
{"status":"1","count":"1","forecasts":[...]}这是什么?
- 一个 Object
怎么判断是 Object?
你记一个最简单的规则:
只要是 { } 包起来的,就是 Object
那 Object 是什么?
一句话:
Object = 一堆“带名字的数据”
比如这里:
- status = 1
- count = 1
- forecasts = ……
你可以把它理解成:
- 一个“大盒子”,里面装了很多“有名字的数据”
三、第二步:看到 [] 不要慌
看这一段:
"forecasts":[{"city":"长春市","province":"吉林"}]这里出现了:
[...]这是什么?
- Array(数组)
怎么判断是 Array?
只要是 [ ] 包起来的,就是 Array
Array 是什么?
一句话:
Array = 一排数据
比如:
["北京","上海","广州"]四、重点来了:什么是 Array[Object]
现在看这一句:
"forecasts":[{"city":"长春市","province":"吉林"}]拆开看:
- 外面是
[ ]→ Array - 里面是
{ }→ Object
所以这就是:
Array[Object] = 一组 Object
说人话: 一堆“信息包”排成一排
你可以这样理解:
- 一个 Object = 一条天气数据
- Array = 多条天气数据
所以:
forecasts = 多个城市天气
五、再往里一层(最关键)
继续看:
"casts":[{"date":"2026-04-09","dayweather":"小雨","daytemp":"12"}]这个结构和刚才一模一样:
- casts 是 Array
- 里面每一项是 Object
所以:
casts = 多天的天气数据
你现在可以这样理解整个结构:
六、我帮你翻译成人话
这个 JSON 本质是:
一个结果里面
→ 有多个城市
→ 每个城市里面
→ 有多天的天气
翻译成结构就是:
Object └── forecasts(Array) └── 每一个城市(Object) └── casts(Array) └── 每一天(Object)如果你能看懂这一层,你已经超过大部分初学者了。
