JSON 解析获取到具体的得属性得值

获取某JSON值

    String json = "[{\"OnLineGap\":\"60000\"}]";  

    JSONArray array = JSONArray.fromObject(json);  

    JSONObject jsonObject = array.getJSONObject(0);  

     System.out.println(jsonObject.get("OnLineGap"));  //获取到值

json数据格式如下格式,获取到具体的值并且获取到 ‘score’得最大值,详细看下。

 

public Response vipFindindJSONAction(HttpServletRequest request ,String json) {
        Response response = new Response();
        JSONObject jsonObject_ = JSONObject.fromObject ( json );
        JSONArray  jsonObject_Array = JSONArray.fromObject ( jsonObject_ );//将json串 转换成数组
        List<Double> listScore = new ArrayList<Double> ();
        String person_id = "";
        String face_id ="";
        JSONArray jsonObject = null;
        JSONArray dataObject = null;
        JSONObject sonObject = null;
        Double maxScores ;
        try {
            for (int i = 0; i < jsonObject_Array.size (); i++) {
                sonObject = jsonObject_Array.getJSONObject ( i );
                //获取到jisn得list集合节点
                dataObject = sonObject.getJSONArray ( "list" );
                //[{"person_id":"xx1","face_id '":"xxx1","score":0.98},{"person_id":"xx2"," face_id ":"xxx2","score":0.93},{"person_id":"xx3"," face_id ":"xxx3","score":0.92}]
                jsonObject = JSONArray.fromObject ( dataObject );
                //遍历list集合每一个值,取出的值
                for (int i1 = 0; i1 < jsonObject.size (); i1++) {
                    JSONObject jsonObjects = jsonObject.getJSONObject ( i1 );
                    //找到“score”属性得每一个值
                    listScore.add ( (Double) jsonObjects.get ( "score" ) );
                    //  System.err.println (jsonObjects.get("score"));
                }
            }
            maxScores = Collections.max ( listScore );
            System.err.println ("Max数字是:" +maxScores );
            if (maxScores != null) {
                for (int i2 = 0; i2 < jsonObject.size (); i2++) {
                    JSONObject jsonObjects = jsonObject.getJSONObject ( i2 );
                    if((Double) jsonObjects.get ( "score" ) == maxScores){
                        //获取到 ’person_id‘ 属性的值
                        person_id +=  jsonObjects.get ( "person_id" ).toString ();
                        face_id += jsonObjects.get ( "face_id" ).toString ();
                        //System.err.println ("face_id:"+face_id);
                        //System.err.println ("person_id:"+person_id);
                        break;
                    }
                }
            }
        }catch (Exception e){
            e.getMessage ();
            response.setError ( "数据格式非法,解析失败!" );
            response.setSuccess ( false );
            return response;
        }
        dao.vipFindindJSONAction(request,person_id,face_id,maxScores);
        return response;
    }

猜你喜欢

转载自www.cnblogs.com/ysySelf/p/10985410.html