java - 通过键jsonarray获取值

标签 java arrays json get

JSONArray arr = 
[
    {"key1":"value1"},
    {"key2":"value2"},
    {"key3":"value3"},
    {"key4":"value4"}
]

arr.get("key1") 抛出错误。如何在 JSONArray 中按键获取值?

arr.getString("key1") 也会抛出错误。我应该遍历数组吗?这是唯一的方法吗?

错误是什么?

在 Eclipse 调试透视图中,这些表达式返回为; error(s)_during_the_evaluation

最佳答案

您可以像下面的代码一样解析您的jsonResponse:

private void parseJsonData(String jsonResponse){
        try
        {
            JSONArray jsonArray = new JSONArray(jsonResponse);

            for(int i=0;i<jsonArray.length();i++)
            {
                JSONObject jsonObject1 = jsonArray.getJSONObject(i);
                String value1 = jsonObject1.optString("key1");
                String value2 = jsonObject1.optString("key2");
                String value3 = jsonObject1.optString("key3");
                String value4 = jsonObject1.optString("key4");
            }
        }
        catch (JSONException e)
        {
            e.printStackTrace();
        }
    }

关于java - 通过键jsonarray获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42549545/

相关文章:

javascript - 如何使用 arshaw fullcalendar v2.3.0 将 agendaDay View 中的非工作日变灰

php - Adobe echosign,发送文档并检索其状态

java - Play Framework 2.0 - asJson() 总是返回 null

java - Spring分别缓存列表中的所有元素

java - 在 log4j 上集成 slf4j 时出错

python - 在每个点的 numpy 矩阵中获取已知边界内的所有坐标点

arrays - 访问数组属性

java - 多级同步语句的目的是什么?

java - 使用多个外键作为复合主键的一对多实体映射

ruby - 在随机位置用 ruby​​ 压缩 2 个数组