获取某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;
}