为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 JsonObject java 中恢复值

如何从 JsonObject java 中恢复值

慕勒3428872 2022-06-30 18:26:00
我有一个 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.13lon =  5.02谢谢你。
查看完整描述

1 回答

?
翻翻过去那场雪

TA贡献2065条经验 获得超14个赞

首先,JAVA-json 的正确 Maven/Gradle 依赖项是


<dependency>

    <groupId>org.json</groupId>

    <artifactId>json</artifactId>

    <version>20180813</version>

</dependency>

如果JSONObject#getJSONObject找不到该方法,则说明您做错了什么。


对于代码部分,应该这样做。适应你的需要。


final JSONArray jsonArray = new JSONArray(source);

final int length = jsonArray.length();


for (int i = 0; i < length; i++) {

    final JSONObject jsonObject = jsonArray.getJSONObject(i);

    final JSONObject forecastOrig =

            jsonObject.getJSONObject("875488")

                      .getJSONObject("forecast_orig");


    final double lon = forecastOrig.getDouble("lon");

    final double lat = forecastOrig.getDouble("lat");


    System.out.println(lon);

    System.out.println(lat);

}


查看完整回答
反对 回复 2022-06-30
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信