gpt4 book ai didi

java - 流畅地从嵌套的 JSONObject 中获取键

转载 作者:行者123 更新时间:2023-12-01 19:44:21 24 4
gpt4 key购买 nike

我正在尝试从嵌套的 JSONObject 中提取一个值,例如“id”。我正在使用 org.json.simple 包,我的代码如下所示:

JSONArray entries = (JSONArray) response.get("entries");
JSONObject entry = (JSONObject) entries.get(0);
JSONArray runs = (JSONArray) entry.get("runs");
JSONObject run = (JSONObject) runs.get(0);
String run_id = run.get("id").toString();

其中响应​​是 JSONObject。

是否可以使用 Fluent Interface Pattern 重构代码,使代码更具可读性?例如,

String run_id = response.get("entries")
.get(0)
.get("runs")
.get(0)
.get("id").toString();

提前致谢。

最佳答案

这是一种可能性。

class FluentJson {
private Object value;

public FluentJson(Object value) {
this.value = value;
}

public FluentJson get(int index) throws JSONException {
JSONArray a = (JSONArray) value;
return new FluentJson(a.get(index));
}

public FluentJson get(String key) throws JSONException {
JSONObject o = (JSONObject) value;
return new FluentJson(o.get(key));
}

public String toString() {
return value == null ? null : value.toString();
}

public Number toNumber() {
return (Number) value;
}
}

你可以像这样使用它

String run_id = new FluentJson(response)
.get("entries")
.get(0)
.get("runs")
.get(0)
.get("id").toString();

关于java - 流畅地从嵌套的 JSONObject 中获取键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54037150/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com