如何从json对象获取字符串列表

len*_*nka 4 java arrays json list

我有以下JSON:

{"errors":[{"code":888,"errorId":"xxx","message":"String value expected","fields":["name", "address"]}, {}, {}]}
Run Code Online (Sandbox Code Playgroud)

我希望能够通过以下方式获得"字段":

public static String getField(json, errorsIndex, fieldIndex) {
    JSONObject errorJson = json.getJSONArray("errors").getJSONObject(errorIndex);
    String value = errorJson.[getTheListOfMyFields].get(fieldIndex);
    return value;
}
Run Code Online (Sandbox Code Playgroud)

但是我找不到制作这个部分的方法[getTheListOfMyFields].有什么建议吗?

gla*_*3dr 5

List<String>您可以像访问错误数组一样访问字段数组,而不是从JSON对象获取:

public static String getField(json, errorsIndex, fieldIndex) {
    JSONObject errorJson = json.getJSONArray("errors").getJSONObject(errorIndex);
    String value = errorJson.getJSONArray("fields").getString(fieldIndex);
    return value;
}
Run Code Online (Sandbox Code Playgroud)

请注意,get(fieldIndex)已更改为getString(fieldIndex).这样您就不必将Object强制转换为String.