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

5

I have the following JSON:

{"errors":[{"code":888,"errorId":"xxx","message":"String value expected","fields":["name", "address"]}, {}, {}]}

我希望能以以下方式获取“fields”:
public static String getField(json, errorsIndex, fieldIndex) {
    JSONObject errorJson = json.getJSONArray("errors").getJSONObject(errorIndex);
    String value = errorJson.[getTheListOfMyFields].get(fieldIndex);
    return value;
}

但我找不到一种方法来实现这部分[getTheListOfMyFields]。有什么建议吗?

getTheListOfMyFields 应该是一个索引吗? - andrewdleach
["姓名", "地址"] - lenka
最后,您想要value成为“fields”数组中索引为fieldIndex的元素,是这样吗?例如,如果fieldIndex为1,则value将是“address”? - gla3dr
1个回答

6

与其从JSON对象中获取一个List<String>,您可以像访问错误数组一样访问字段数组:

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

请注意,get(fieldIndex)已更改为getString(fieldIndex)。这样你就不必将对象强制转换为字符串了。

我认为JSONArray是JSON对象的数组,但它在这里不适用...哈哈 =)非常感谢!=) - lenka
'json' 参数的类型是什么? - Dyno Cris
1
@DynoCris 这是来自 org.json 包的 JSONObject - gla3dr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接