【解决问题】解析服务器端返回的JSONObject对象

前端之家收集整理的这篇文章主要介绍了【解决问题】解析服务器端返回的JSONObject对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. public List<Object[]> syncSVR(Map<String,String> info){

  2. JSONArray jsonListObjs = null;//List<Object[]>

  3. JSONArray jsonObjs = null;//Object[]

  4. JSONArray jsonObjectsList = null; // Object[1] == List<Object>

  5. List<Object[]> result = null;

  6. Object[] objs = new Object[2];

  7. Object[] subObjs = null;

  8. String str = null;

  9. JSONObject jsonObject //

  10. = HttpUtil.doPost(this.getServerURL(HttpUtil.HttpFunction.syncSVR),info);

  11. int status = SVRResult.SVR_SERVER_NOT_RESPOND ;//若JSONObject为null则返回SVR_SERVER_NOT_RESPOND

  12. try {

  13. if(jsonObject !=null){

  14. Log.i(this.getClass().toString(),jsonObject.get("serverMessage").toString());

  15. status = Integer.parseInt(jsonObject.get("serverMessage").toString());

  16. if( status== SVRResult.SVR_OK ){

  17. jsonListObjs = jsonObject.getJSONArray("syncSVR");

  18. result = new ArrayList<Object[]>();

  19. for( int i = 0 ; i < jsonListObjs.length() ; i ++ ) {

  20. //取出

  21. jsonObjs = jsonListObjs.getJSONArray(i);

  22. for( int j = 0 ; j < jsonObjs.length() ; j ++ ) {

  23. //取出

  24. str = jsonObjs.getString(0);

  25. //放置

  26. objs[0] = str ;

  27. //取出

  28. jsonObjectsList = jsonObjs.getJSONArray(1);

  29. subObjs = new Object[jsonObjectsList.length()];

  30. for( int k = 0 ; k < jsonObjectsList.length() ; k ++ ) {

  31. // 放置

  32. subObjs[k] = jsonObjectsList.get(k);

  33. }

  34. //放置

  35. objs[1] = subObjs;

  36. }

  37. //放置

  38. result.add(objs);

  39. }

  40. }

  41. } else {

  42. return result;

  43. }

  44. } catch (Exception e) {

  45. e.printStackTrace();

  46. Log.i("心跳异常",String.valueOf(status));

  47. }

  48. return result;

  49. }

我就举一个例子,服务器返回的值的数据结构是:

List<Object[]> Objectp[0] 是一个String,Object[1]是一个LIst<Object>

转换的代码,如上所示。

重点看转换的过程即可,其他可以忽略。

猜你在找的Json相关文章