ITzhangdaopin
Zhang Daopin
采纳率70%
2017-05-26 12:57 浏览 910

JAVA JSON遍历问题 急急急

如下一个json数组:

 {

   "feature":"fresh_today",

   "photos":[

      {

         "id":"5",

         "name":"Dandelion5"

      },

      {

         "id":"3",

         "name":"Dandelion3"

      }

   ]

}

怎样做到,知道了photo中的id为5,取出{ "id":"5","name":"Dandelion5" }中的name的值?
使用遍历吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

8条回答 默认 最新

  • 已采纳
    ITzhangdaopin Zhang Daopin 2017-05-26 14:21

    自己写的一个办法,不知道,是否合适。。。

     public static void main(String[] args) {
            TestJson test=new TestJson();
            test.getValue();
        }
    
        public void getValue(){
    
            String str = "{\"data\":[{\"id\":\"1\",\"name\":\"name1\"}," +
                    "{\"id\":\"2\",\"name\":\"name2\"},{\"id\":\"3\",\"name\":\"name3\"},]}";
            //
            JSONObject jsonObject = JSONObject.fromObject(str); 
            JSONArray result = jsonObject.getJSONArray("data");
            //System.out.println(result);
            for (int i = 0; i < result.size(); i++) {
                //System.out.println(result);
                String id = result.getJSONObject(i).getString("id");
                System.out.println(id);
                if(id.equals("2")){
                    System.out.println(id);
                    System.out.println(i);
                    String name = result.getJSONObject(i).getString("name");
                    System.out.println(name);
                }
    
                }
            }
    
    点赞 1 评论 复制链接分享
  • qq_37502106 ChaseDreamBoy 2017-05-26 17:47

    遍历"photos",当id=5,时的值

    点赞 1 评论 复制链接分享
  • qq_34379959 qq_34379959 2017-05-27 03:29

    $(function() {
    for(var i = 0; i<data.photos.length; i++){
    if(data.photos[i].id=="5"){
    console.log(data.photos[i].name);
    }
    }
    })

    点赞 1 评论 复制链接分享
  • qq_21521939 盛天海 2017-05-26 13:01

    是java的话基本就是new一个对象 然后id=5的时候 对象等于当前的这个json 然后就简单了

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2017-05-26 13:11

    遍历photos的数组。然后一个个比较id,当是5的时候。读取name的key

    点赞 评论 复制链接分享
  • gh881104 StevenLoong 2017-05-26 13:49

    json遍历直接取值

    点赞 评论 复制链接分享
  • weixin_32769751 weixin_32769751 2017-05-26 13:53

    用scriptenginner

    点赞 评论 复制链接分享
  • qq_33749431 jsmSimons 2017-05-27 02:50

    用gson把json转化为一个map对象,然后map.get("photo"),然后再把这个object转化为map然后就可以get id了

    点赞 评论 复制链接分享

相关推荐