【发布时间】:2017-11-06 19:15:17
【问题描述】:
我重复调用以下代码以从 JSON 响应中获取某些字符串值。
String val1 = JsonPath.with(e.getValue()).getAsJsonArray("val1/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val2 = JsonPath.with(e.getValue()).getAsJsonArray("val2/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val3 = JsonPath.with(e.getValue()).getAsJsonArray("val3/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val4 = JsonPath.with(e.getValue()).getAsJsonArray("val4/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
将其重构如下是否有意义,或者是否矫枉过正:
JsonPath path = JsonPath.with(e.getValue());
String val1 = path.getAsJsonArray("val1/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val2 = path.getAsJsonArray("val2/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val3 = path.getAsJsonArray("val3/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
String val4 = path.getAsJsonArray("val4/textSpans")
.get(0).getAsJsonObject().get("text").getAsString();
是否可以进一步重构,以便将 val1、val2、val3 和 val4 作为参数传递给同一方法,并返回一个字符串?
【问题讨论】:
标签: java json refactoring