【问题标题】:Get JSON String in java with org.json使用 org.json 在 java 中获取 JSON 字符串
【发布时间】:2011-08-28 22:55:56
【问题描述】:
[{"post":{"titel":"Glee","interpret":"Bran Van 3000","jahr":"1997","id":"5"}},{"post":{"titel":"Goodbye Country (Hello Nightclub)","interpret":"Groove Armada","jahr":"2001","id":"4"}},{"post":{"titel":"Beauty","interpret":"Ryuichi Sakamoto","jahr":"1990","id":"1"}}]

上面的字符串是我在 json 中拥有的,现在我想要做的是像上面的字符串一样获取“post”和“titel”的值,我有 3 个 post 值,这对我。但是,现在我想要的是打印 post 的所有 3 个值和 post 字符串中的每个值。

JSONArray jsonArray = new JSONArray(jsonString);
            columns = new String[jsonArray.length()];
            for (int i = 0; i < jsonArray.length(); i++) {
                JSONObject jsonObject = jsonArray.getJSONObject(i);
                columns[i]=jsonObject.getString("post");
            }

上面的代码返回了 3 个 post 值。如果我想打印 post 的值和 post 中列的每个值,我该怎么办?

【问题讨论】:

    标签: java json org.json


    【解决方案1】:

    我会做这样的事情(我不使用columns 数组只是为了打印,并且这段代码没有经过测试):

    JSONArray jsonArray = new JSONArray(jsonString);
    for (int i = 0; i < jsonArray.length(); i++) {
        JSONObject jsonObject = jsonArray.getJSONObject(i);
        JSONObject postObj = jsonObject.getJSONObject("post");
        for (String i : postObj.keys()) {
             System.out.println("Key: " + i + "; Value: " + postObj.getString(i));
        }
    }
    

    即处理每个数组元素的“post”对象返回的Object的每个元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-10
      • 2014-06-07
      • 2013-03-10
      • 2017-04-20
      相关资源
      最近更新 更多