如何从 JsonObject java 中恢复值

我有一个 JSonObject 列表,我只想恢复 json 中两个变量的值。


在 java 8 中,我找不到函数 getJSONObject,可能是它无法识别。首先,我将我的 json 添加到JSONObject. 但是当我想get它的时候,编辑Intellij建议只使用get函数。


示例:records.get(0).get("id")我得到了下面的结果,但是当我想恢复里面的变量时:records.get(0).get("id").get("875488")...我得到了一个错误。


My code:



JSONArray JSONArray = (JSONArray) obj;

List<JSONObject> records = new ArrayList<JSONObject>(); 


    for (int i=0; i<JSONArray.size(); i++) {


        records.add( (JSONObject) JSONArray.get(i) );


    }

我试图恢复的第一个拖车价值,"lat"但"lon"我无法到达。有人可以帮助我吗?


我想要这样的结果:


lat = 12.13


lon =  5.02

谢谢你。


慕勒3428872
浏览 88回答 1
1回答

翻翻过去那场雪

首先,JAVA-json 的正确 Maven/Gradle 依赖项是<dependency>&nbsp; &nbsp; <groupId>org.json</groupId>&nbsp; &nbsp; <artifactId>json</artifactId>&nbsp; &nbsp; <version>20180813</version></dependency>如果JSONObject#getJSONObject找不到该方法,则说明您做错了什么。对于代码部分,应该这样做。适应你的需要。final JSONArray jsonArray = new JSONArray(source);final int length = jsonArray.length();for (int i = 0; i < length; i++) {&nbsp; &nbsp; final JSONObject jsonObject = jsonArray.getJSONObject(i);&nbsp; &nbsp; final JSONObject forecastOrig =&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; jsonObject.getJSONObject("875488")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .getJSONObject("forecast_orig");&nbsp; &nbsp; final double lon = forecastOrig.getDouble("lon");&nbsp; &nbsp; final double lat = forecastOrig.getDouble("lat");&nbsp; &nbsp; System.out.println(lon);&nbsp; &nbsp; System.out.println(lat);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java