JSON新手求助:如何访问JSON数据中的coordinates值?
如何访问嵌套JSON中的coordinates字段
嗨,刚接触JSON遇到这种嵌套结构太正常啦,别着急~我来一步步帮你理清路径:
首先咱们先拆解下这个JSON的层级结构,这样你就明白怎么一步步导航到coordinates了:
- 最外层是一个对象,里面的
resourceSets是数组(看方括号[]),里面只有1个元素 - 这个元素里的
resources也是数组,同样只有1个元素 - 拿到这个resources元素后,里面的
point是一个对象(看大括号{}),直接通过键名就能访问它的子字段 - 最后
point里的coordinates就是你要的数组啦
举几个常用语言的代码示例:
JavaScript(浏览器/Node环境)
假设你已经把JSON字符串解析成了一个叫data的对象:
const coordinates = data.resourceSets[0].resources[0].point.coordinates; console.log(coordinates); // 输出: [51.3235145, -0.261653]
Java(使用org.json库的JSONParser)
假设你已经将JSON字符串解析成JSONObject obj:
// 逐层导航 JSONArray resourceSets = obj.getJSONArray("resourceSets"); JSONObject firstResourceSet = resourceSets.getJSONObject(0); JSONArray resources = firstResourceSet.getJSONArray("resources"); JSONObject firstResource = resources.getJSONObject(0); JSONObject pointObj = firstResource.getJSONObject("point"); JSONArray coordinates = pointObj.getJSONArray("coordinates"); // 获取具体经纬度值 double latitude = coordinates.getDouble(0); double longitude = coordinates.getDouble(1);
核心要点就是:遇到[]数组就用索引(比如[0])取元素,遇到{}对象就用.键名访问字段,你之前卡在point节点,应该是误以为它是数组了吧?其实它是个普通对象,直接访问就行~
内容的提问来源于stack exchange,提问作者jb2003
相关产品推荐
相关产品推荐

