日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android開發(fā):Json字符串到Json對(duì)象萬能解析器

Json字符串到Json對(duì)象萬能轉(zhuǎn)換器(java實(shí)現(xiàn)),就一百來行代碼,非常輕量小巧。對(duì)于一般應(yīng)用場景資源消耗非常低,速度也足夠快,尤其適用于Android應(yīng)用開發(fā)。

創(chuàng)新互聯(lián)建站主營廣河網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都APP應(yīng)用開發(fā),廣河h5微信小程序開發(fā)搭建,廣河網(wǎng)站營銷推廣歡迎廣河等地區(qū)企業(yè)咨詢

通過CommonJSONParser可以把json字符串轉(zhuǎn)換為包含Map、List、String、Integer等標(biāo)準(zhǔn)Java對(duì)象的集合,具體使用方法:

  CommonJSONParser commonJSONParser = new CommonJSONParser();
  Map result = commonJSONParser.parse(jsonDataStr);

CommonJSONParser源代碼如下(主要使用“遞歸”思想):

 
 
  1. 1 import java.util.ArrayList; 
  2.  2 import java.util.HashMap; 
  3.  3 import java.util.Iterator; 
  4.  4 import java.util.List; 
  5.  5 import java.util.Map; 
  6.  6  
  7.  7 import org.json.JSONArray; 
  8.  8 import org.json.JSONException; 
  9.  9 import org.json.JSONObject; 
  10. 10  
  11. 11 public class CommonJSONParser { 
  12. 12  
  13. 13     public Map parse(String jsonStr) { 
  14. 14  
  15. 15         Map result = null; 
  16. 16  
  17. 17         if (null != jsonStr) { 
  18. 18             try { 
  19. 19  
  20. 20                 JSONObject jsonObject = new JSONObject(jsonStr); 
  21. 21                 result = parseJSONObject(jsonObject); 
  22. 22  
  23. 23             } catch (JSONException e) { 
  24. 24                 // TODO Auto-generated catch block 
  25. 25                 e.printStackTrace(); 
  26. 26             } 
  27. 27         } // if (null != jsonStr) 
  28. 28  
  29. 29         return result; 
  30. 30     } 
  31. 31  
  32. 32     private Object parseValue(Object inputObject) throws JSONException { 
  33. 33         Object outputObject = null; 
  34. 34  
  35. 35         if (null != inputObject) { 
  36. 36  
  37. 37             if (inputObject instanceof JSONArray) { 
  38. 38                 outputObject = parseJSONArray((JSONArray) inputObject); 
  39. 39             } else if (inputObject instanceof JSONObject) { 
  40. 40                 outputObject = parseJSONObject((JSONObject) inputObject); 
  41. 41             } else if (inputObject instanceof String || inputObject instanceof Boolean || inputObject instanceof Integer) { 
  42. 42                 outputObject = inputObject; 
  43. 43             } 
  44. 44  
  45. 45         } 
  46. 46  
  47. 47         return outputObject; 
  48. 48     } 
  49. 49  
  50. 50     private List parseJSONArray(JSONArray jsonArray) throws JSONException { 
  51. 51  
  52. 52         List valueList = null; 
  53. 53  
  54. 54         if (null != jsonArray) { 
  55. 55             valueList = new ArrayList(); 
  56. 56  
  57. 57             for (int i = 0; i < jsonArray.length(); i++) { 
  58. 58                 Object itemObject = jsonArray.get(i); 
  59. 59                 if (null != itemObject) { 
  60. 60                     valueList.add(parseValue(itemObject)); 
  61. 61                 } 
  62. 62             } // for (int i = 0; i < jsonArray.length(); i++) 
  63. 63         } // if (null != valueStr) 
  64. 64  
  65. 65         return valueList; 
  66. 66     } 
  67. 67  
  68. 68     private Map parseJSONObject(JSONObject jsonObject) throws JSONException { 
  69. 69  
  70. 70         Map valueObject = null; 
  71. 71         if (null != jsonObject) { 
  72. 72             valueObject = new HashMap(); 
  73. 73  
  74. 74             Iterator keyIter = jsonObject.keys(); 
  75. 75             while (keyIter.hasNext()) { 
  76. 76                 String keyStr = keyIter.next(); 
  77. 77                 Object itemObject = jsonObject.opt(keyStr); 
  78. 78                 if (null != itemObject) { 
  79. 79                     valueObject.put(keyStr, parseValue(itemObject)); 
  80. 80                 } // if (null != itemValueStr) 
  81. 81  
  82. 82             } // while (keyIter.hasNext()) 
  83. 83         } // if (null != valueStr) 
  84. 84  
  85. 85         return valueObject; 
  86. 86     } 
  87. 87 } 

  88. 本文標(biāo)題:Android開發(fā):Json字符串到Json對(duì)象萬能解析器
    網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dhieeci.html