Search

JAVA - dom4j的Selector使用xpath的效能差異

2014-12-21 11:31 PM

在Java中我們最常使用的XML解析套件應該就是dom4j了

用起來算是非常便利

我會選擇這個主要也是因為他跟Javascript在解析XML的功能上非常相似

會需要使用這類套件主要就是想取得特定節點的某個值

也就是會使用到Selector中的xpath

而Selector的使用差異可使搜尋效能相差千倍以上

以下兩種各為直接使用文件物件搜尋指定節點的方法

可以看看不同的xpath使用方式會帶來多大的效能差異

  1. // 直接使用document做搜尋
  2. @SuppressWarnings("unchecked")
  3. List rowElements = (List) xml.getDoc().selectNodes("//report/table/row");
  4. //56674筆資料
  5. //執行時間為160851毫秒
  1. // 使用已知節點路徑 分開多次搜尋
  2. Element tableElement = (Element) xml.getDoc().selectSingleNode("//report/table");
  3. @SuppressWarnings("unchecked")
  4. List rowElements = (List) tableElement.selectNodes("row");
  5. //56674筆資料
  6. //執行時間為599毫秒

也就是說 我們應該盡量以已知節點做搜尋

而不是從整個dom文件做搜尋

雖然第一種方法程式碼較短

但第二種方法才是最佳的使用方式

很多時候 優雅的程式碼並不一定是最好的方法


各項資料連結
dom4j官方教學

Java - 解除 AES-256 加密預設金鑰長度限制

2014-12-15 10:12 PM

因為Java預設最大的AES加密金鑰長度為128

因此若超過此長度會拋出以下異常

  1. java.security.InvalidKeyException: Illegal key size or default parameters

此問題可在下載

Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files

之後解決

下載後將local_policy.jar及US_export_policy.jar 取代jre/security底下的兩個檔案即可

若取代後依舊無法使用長度128位元以上的金鑰加密字串

則可以在系統或程式初始化時加入以下程式碼解除限制

  1. // 僅限java 7以上
  2. Field field = Class.forName("javax.crypto.JceSecurity").
  3. getDeclaredField("isRestricted");
  4. field.setAccessible(true);
  5. field.set(null, java.lang.Boolean.FALSE);
各項資料連結
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 7 Download

Android - 開啟網路連線要求權限

2014-12-07 4:04 PM

在Manifest.xml檔要求網路連線權限

  1. <!-- Network need this permission -->
  2. <uses-permission android:name="android.permission.INTERNET" />
  3. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

之後要實做網路連線時

必須要另外開啟執行緒執行

因Android限制不可在主執行緒執行連線動作

避免因連線問題導致程式死當

如此亦可另外實作連線等待機制(例如加入讀取畫面)

而不是無回應的凍結畫面

MySQL - OPTIMIZE TABLE 資料表碎片重組

3:46 PM
程式碼範例
  1. OPTIMIZE TABLE <table_name>
可將資料表的資料碎片重組為一個完整區塊(最佳化存取)

類似WINDOWS的磁碟重組

可加快資料存取速度

但INNODB不支援此方法

因此MySQL會自動將原本的資料表重新備份為另一個新資料表達成重組要求

若資料表資料量很大會非常耗時

Links
OPTIMIZE TABLE Syntax

Eclipse - EGit 使用 ssh 連線 push

3:41 PM
到 Window -> Preference -> General -> Network Connections -> SSH2

首先會看到 General 頁籤

裡面的 SSH2 home 通常會指向 C:\User\user\.ssh

Private keys 則會設定為 id_rsa 或是 id_dsa(若沒有則可能示尚未產生過)




此時可以到 Key Management 頁籤內選擇產生 DSA key 或是 RSA key (bitbucket 及 github 皆使用 RSA)

產生後可以在文字區塊看見產生後的公鑰




將此公鑰貼到 Bitbucket 或 Github的SSH key 管理頁面內

之後回到 Eclipse 點擊 Save Private Key 將密鑰儲存至 SSH2 home 的位置

再點擊 Export Via SFTP 填入 Known hosts ( git@bitbucket.org 或 git@github.com )




點擊確定後關閉視窗

若要確認 Known hosts 設定是否正確可再次開啟 SSH2 設定視窗

到 Key Management 頁選擇 Load Existing Key 並讀取剛剛儲存的 Key




再到 Known Hosts 頁籤應該可以看見剛剛填入的 host




可能因為 Eclipse 有快取問題 設定完成後必須重新開啟 Eclipse

否則認證可能會出現錯誤

重新啟動後便可直接以 ssh 連線 push 到 Bitbucket 或 Github 了

Country code in JSON format

3:33 PM
Examples
  1. [
  2. {"name": "Afghanistan", "code": "AF"},
  3. {"name": "Åland Islands", "code": "AX"},
  4. {"name": "Albania", "code": "AL"},
  5. {"name": "Algeria", "code": "DZ"},
  6. {"name": "American Samoa", "code": "AS"},
  7. {"name": "AndorrA", "code": "AD"},
  8. {"name": "Angola", "code": "AO"},
  9. {"name": "Anguilla", "code": "AI"},
  10. {"name": "Antarctica", "code": "AQ"},
  11. {"name": "Antigua and Barbuda", "code": "AG"},
  12. {"name": "Argentina", "code": "AR"},
  13. {"name": "Armenia", "code": "AM"},
  14. {"name": "Aruba", "code": "AW"},
  15. {"name": "Australia", "code": "AU"},
  16. {"name": "Austria", "code": "AT"},
  17. {"name": "Azerbaijan", "code": "AZ"},
  18. {"name": "Bahamas", "code": "BS"},
  19. {"name": "Bahrain", "code": "BH"},
  20. {"name": "Bangladesh", "code": "BD"},
  21. {"name": "Barbados", "code": "BB"},
  22. {"name": "Belarus", "code": "BY"},
  23. {"name": "Belgium", "code": "BE"},
  24. {"name": "Belize", "code": "BZ"},
  25. {"name": "Benin", "code": "BJ"},
  26. {"name": "Bermuda", "code": "BM"},
  27. {"name": "Bhutan", "code": "BT"},
  28. {"name": "Bolivia", "code": "BO"},
  29. {"name": "Bosnia and Herzegovina", "code": "BA"},
  30. {"name": "Botswana", "code": "BW"},
  31. {"name": "Bouvet Island", "code": "BV"},
  32. {"name": "Brazil", "code": "BR"},
  33. {"name": "British Indian Ocean Territory", "code": "IO"},
  34. {"name": "Brunei Darussalam", "code": "BN"},
  35. {"name": "Bulgaria", "code": "BG"},
  36. {"name": "Burkina Faso", "code": "BF"},
  37. {"name": "Burundi", "code": "BI"},
  38. {"name": "Cambodia", "code": "KH"},
  39. {"name": "Cameroon", "code": "CM"},
  40. {"name": "Canada", "code": "CA"},
  41. {"name": "Cape Verde", "code": "CV"},
  42. {"name": "Cayman Islands", "code": "KY"},
  43. {"name": "Central African Republic", "code": "CF"},
  44. {"name": "Chad", "code": "TD"},
  45. {"name": "Chile", "code": "CL"},
  46. {"name": "China", "code": "CN"},
  47. {"name": "Christmas Island", "code": "CX"},
  48. {"name": "Cocos (Keeling) Islands", "code": "CC"},
  49. {"name": "Colombia", "code": "CO"},
  50. {"name": "Comoros", "code": "KM"},
  51. {"name": "Congo", "code": "CG"},
  52. {"name": "Congo, The Democratic Republic of the", "code": "CD"},
  53. {"name": "Cook Islands", "code": "CK"},
  54. {"name": "Costa Rica", "code": "CR"},
  55. {"name": "Cote D\"Ivoire", "code": "CI"},
  56. {"name": "Croatia", "code": "HR"},
  57. {"name": "Cuba", "code": "CU"},
  58. {"name": "Cyprus", "code": "CY"},
  59. {"name": "Czech Republic", "code": "CZ"},
  60. {"name": "Denmark", "code": "DK"},
  61. {"name": "Djibouti", "code": "DJ"},
  62. {"name": "Dominica", "code": "DM"},
  63. {"name": "Dominican Republic", "code": "DO"},
  64. {"name": "Ecuador", "code": "EC"},
  65. {"name": "Egypt", "code": "EG"},
  66. {"name": "El Salvador", "code": "SV"},
  67. {"name": "Equatorial Guinea", "code": "GQ"},
  68. {"name": "Eritrea", "code": "ER"},
  69. {"name": "Estonia", "code": "EE"},
  70. {"name": "Ethiopia", "code": "ET"},
  71. {"name": "Falkland Islands (Malvinas)", "code": "FK"},
  72. {"name": "Faroe Islands", "code": "FO"},
  73. {"name": "Fiji", "code": "FJ"},
  74. {"name": "Finland", "code": "FI"},
  75. {"name": "France", "code": "FR"},
  76. {"name": "French Guiana", "code": "GF"},
  77. {"name": "French Polynesia", "code": "PF"},
  78. {"name": "French Southern Territories", "code": "TF"},
  79. {"name": "Gabon", "code": "GA"},
  80. {"name": "Gambia", "code": "GM"},
  81. {"name": "Georgia", "code": "GE"},
  82. {"name": "Germany", "code": "DE"},
  83. {"name": "Ghana", "code": "GH"},
  84. {"name": "Gibraltar", "code": "GI"},
  85. {"name": "Greece", "code": "GR"},
  86. {"name": "Greenland", "code": "GL"},
  87. {"name": "Grenada", "code": "GD"},
  88. {"name": "Guadeloupe", "code": "GP"},
  89. {"name": "Guam", "code": "GU"},
  90. {"name": "Guatemala", "code": "GT"},
  91. {"name": "Guernsey", "code": "GG"},
  92. {"name": "Guinea", "code": "GN"},
  93. {"name": "Guinea-Bissau", "code": "GW"},
  94. {"name": "Guyana", "code": "GY"},
  95. {"name": "Haiti", "code": "HT"},
  96. {"name": "Heard Island and Mcdonald Islands", "code": "HM"},
  97. {"name": "Holy See (Vatican City State)", "code": "VA"},
  98. {"name": "Honduras", "code": "HN"},
  99. {"name": "Hong Kong", "code": "HK"},
  100. {"name": "Hungary", "code": "HU"},
  101. {"name": "Iceland", "code": "IS"},
  102. {"name": "India", "code": "IN"},
  103. {"name": "Indonesia", "code": "ID"},
  104. {"name": "Iran, Islamic Republic Of", "code": "IR"},
  105. {"name": "Iraq", "code": "IQ"},
  106. {"name": "Ireland", "code": "IE"},
  107. {"name": "Isle of Man", "code": "IM"},
  108. {"name": "Israel", "code": "IL"},
  109. {"name": "Italy", "code": "IT"},
  110. {"name": "Jamaica", "code": "JM"},
  111. {"name": "Japan", "code": "JP"},
  112. {"name": "Jersey", "code": "JE"},
  113. {"name": "Jordan", "code": "JO"},
  114. {"name": "Kazakhstan", "code": "KZ"},
  115. {"name": "Kenya", "code": "KE"},
  116. {"name": "Kiribati", "code": "KI"},
  117. {"name": "Korea, Democratic People\"S Republic of", "code": "KP"},
  118. {"name": "Korea, Republic of", "code": "KR"},
  119. {"name": "Kuwait", "code": "KW"},
  120. {"name": "Kyrgyzstan", "code": "KG"},
  121. {"name": "Lao People\"S Democratic Republic", "code": "LA"},
  122. {"name": "Latvia", "code": "LV"},
  123. {"name": "Lebanon", "code": "LB"},
  124. {"name": "Lesotho", "code": "LS"},
  125. {"name": "Liberia", "code": "LR"},
  126. {"name": "Libyan Arab Jamahiriya", "code": "LY"},
  127. {"name": "Liechtenstein", "code": "LI"},
  128. {"name": "Lithuania", "code": "LT"},
  129. {"name": "Luxembourg", "code": "LU"},
  130. {"name": "Macao", "code": "MO"},
  131. {"name": "Macedonia, The Former Yugoslav Republic of", "code": "MK"},
  132. {"name": "Madagascar", "code": "MG"},
  133. {"name": "Malawi", "code": "MW"},
  134. {"name": "Malaysia", "code": "MY"},
  135. {"name": "Maldives", "code": "MV"},
  136. {"name": "Mali", "code": "ML"},
  137. {"name": "Malta", "code": "MT"},
  138. {"name": "Marshall Islands", "code": "MH"},
  139. {"name": "Martinique", "code": "MQ"},
  140. {"name": "Mauritania", "code": "MR"},
  141. {"name": "Mauritius", "code": "MU"},
  142. {"name": "Mayotte", "code": "YT"},
  143. {"name": "Mexico", "code": "MX"},
  144. {"name": "Micronesia, Federated States of", "code": "FM"},
  145. {"name": "Moldova, Republic of", "code": "MD"},
  146. {"name": "Monaco", "code": "MC"},
  147. {"name": "Mongolia", "code": "MN"},
  148. {"name": "Montserrat", "code": "MS"},
  149. {"name": "Morocco", "code": "MA"},
  150. {"name": "Mozambique", "code": "MZ"},
  151. {"name": "Myanmar", "code": "MM"},
  152. {"name": "Namibia", "code": "NA"},
  153. {"name": "Nauru", "code": "NR"},
  154. {"name": "Nepal", "code": "NP"},
  155. {"name": "Netherlands", "code": "NL"},
  156. {"name": "Netherlands Antilles", "code": "AN"},
  157. {"name": "New Caledonia", "code": "NC"},
  158. {"name": "New Zealand", "code": "NZ"},
  159. {"name": "Nicaragua", "code": "NI"},
  160. {"name": "Niger", "code": "NE"},
  161. {"name": "Nigeria", "code": "NG"},
  162. {"name": "Niue", "code": "NU"},
  163. {"name": "Norfolk Island", "code": "NF"},
  164. {"name": "Northern Mariana Islands", "code": "MP"},
  165. {"name": "Norway", "code": "NO"},
  166. {"name": "Oman", "code": "OM"},
  167. {"name": "Pakistan", "code": "PK"},
  168. {"name": "Palau", "code": "PW"},
  169. {"name": "Palestinian Territory, Occupied", "code": "PS"},
  170. {"name": "Panama", "code": "PA"},
  171. {"name": "Papua New Guinea", "code": "PG"},
  172. {"name": "Paraguay", "code": "PY"},
  173. {"name": "Peru", "code": "PE"},
  174. {"name": "Philippines", "code": "PH"},
  175. {"name": "Pitcairn", "code": "PN"},
  176. {"name": "Poland", "code": "PL"},
  177. {"name": "Portugal", "code": "PT"},
  178. {"name": "Puerto Rico", "code": "PR"},
  179. {"name": "Qatar", "code": "QA"},
  180. {"name": "Reunion", "code": "RE"},
  181. {"name": "Romania", "code": "RO"},
  182. {"name": "Russian Federation", "code": "RU"},
  183. {"name": "RWANDA", "code": "RW"},
  184. {"name": "Saint Helena", "code": "SH"},
  185. {"name": "Saint Kitts and Nevis", "code": "KN"},
  186. {"name": "Saint Lucia", "code": "LC"},
  187. {"name": "Saint Pierre and Miquelon", "code": "PM"},
  188. {"name": "Saint Vincent and the Grenadines", "code": "VC"},
  189. {"name": "Samoa", "code": "WS"},
  190. {"name": "San Marino", "code": "SM"},
  191. {"name": "Sao Tome and Principe", "code": "ST"},
  192. {"name": "Saudi Arabia", "code": "SA"},
  193. {"name": "Senegal", "code": "SN"},
  194. {"name": "Serbia and Montenegro", "code": "CS"},
  195. {"name": "Seychelles", "code": "SC"},
  196. {"name": "Sierra Leone", "code": "SL"},
  197. {"name": "Singapore", "code": "SG"},
  198. {"name": "Slovakia", "code": "SK"},
  199. {"name": "Slovenia", "code": "SI"},
  200. {"name": "Solomon Islands", "code": "SB"},
  201. {"name": "Somalia", "code": "SO"},
  202. {"name": "South Africa", "code": "ZA"},
  203. {"name": "South Georgia and the South Sandwich Islands", "code": "GS"},
  204. {"name": "Spain", "code": "ES"},
  205. {"name": "Sri Lanka", "code": "LK"},
  206. {"name": "Sudan", "code": "SD"},
  207. {"name": "Suriname", "code": "SR"},
  208. {"name": "Svalbard and Jan Mayen", "code": "SJ"},
  209. {"name": "Swaziland", "code": "SZ"},
  210. {"name": "Sweden", "code": "SE"},
  211. {"name": "Switzerland", "code": "CH"},
  212. {"name": "Syrian Arab Republic", "code": "SY"},
  213. {"name": "Taiwan", "code": "TW"},
  214. {"name": "Tajikistan", "code": "TJ"},
  215. {"name": "Tanzania, United Republic of", "code": "TZ"},
  216. {"name": "Thailand", "code": "TH"},
  217. {"name": "Timor-Leste", "code": "TL"},
  218. {"name": "Togo", "code": "TG"},
  219. {"name": "Tokelau", "code": "TK"},
  220. {"name": "Tonga", "code": "TO"},
  221. {"name": "Trinidad and Tobago", "code": "TT"},
  222. {"name": "Tunisia", "code": "TN"},
  223. {"name": "Turkey", "code": "TR"},
  224. {"name": "Turkmenistan", "code": "TM"},
  225. {"name": "Turks and Caicos Islands", "code": "TC"},
  226. {"name": "Tuvalu", "code": "TV"},
  227. {"name": "Uganda", "code": "UG"},
  228. {"name": "Ukraine", "code": "UA"},
  229. {"name": "United Arab Emirates", "code": "AE"},
  230. {"name": "United Kingdom", "code": "GB"},
  231. {"name": "United States", "code": "US"},
  232. {"name": "United States Minor Outlying Islands", "code": "UM"},
  233. {"name": "Uruguay", "code": "UY"},
  234. {"name": "Uzbekistan", "code": "UZ"},
  235. {"name": "Vanuatu", "code": "VU"},
  236. {"name": "Venezuela", "code": "VE"},
  237. {"name": "Viet Nam", "code": "VN"},
  238. {"name": "Virgin Islands, British", "code": "VG"},
  239. {"name": "Virgin Islands, U.S.", "code": "VI"},
  240. {"name": "Wallis and Futuna", "code": "WF"},
  241. {"name": "Western Sahara", "code": "EH"},
  242. {"name": "Yemen", "code": "YE"},
  243. {"name": "Zambia", "code": "ZM"},
  244. {"name": "Zimbabwe", "code": "ZW"}
  245. ]

JSON格式國家代碼總表

3:31 PM
程式碼範例
  1. [
  2. {"name": "Afghanistan", "code": "AF"},
  3. {"name": "Åland Islands", "code": "AX"},
  4. {"name": "Albania", "code": "AL"},
  5. {"name": "Algeria", "code": "DZ"},
  6. {"name": "American Samoa", "code": "AS"},
  7. {"name": "AndorrA", "code": "AD"},
  8. {"name": "Angola", "code": "AO"},
  9. {"name": "Anguilla", "code": "AI"},
  10. {"name": "Antarctica", "code": "AQ"},
  11. {"name": "Antigua and Barbuda", "code": "AG"},
  12. {"name": "Argentina", "code": "AR"},
  13. {"name": "Armenia", "code": "AM"},
  14. {"name": "Aruba", "code": "AW"},
  15. {"name": "Australia", "code": "AU"},
  16. {"name": "Austria", "code": "AT"},
  17. {"name": "Azerbaijan", "code": "AZ"},
  18. {"name": "Bahamas", "code": "BS"},
  19. {"name": "Bahrain", "code": "BH"},
  20. {"name": "Bangladesh", "code": "BD"},
  21. {"name": "Barbados", "code": "BB"},
  22. {"name": "Belarus", "code": "BY"},
  23. {"name": "Belgium", "code": "BE"},
  24. {"name": "Belize", "code": "BZ"},
  25. {"name": "Benin", "code": "BJ"},
  26. {"name": "Bermuda", "code": "BM"},
  27. {"name": "Bhutan", "code": "BT"},
  28. {"name": "Bolivia", "code": "BO"},
  29. {"name": "Bosnia and Herzegovina", "code": "BA"},
  30. {"name": "Botswana", "code": "BW"},
  31. {"name": "Bouvet Island", "code": "BV"},
  32. {"name": "Brazil", "code": "BR"},
  33. {"name": "British Indian Ocean Territory", "code": "IO"},
  34. {"name": "Brunei Darussalam", "code": "BN"},
  35. {"name": "Bulgaria", "code": "BG"},
  36. {"name": "Burkina Faso", "code": "BF"},
  37. {"name": "Burundi", "code": "BI"},
  38. {"name": "Cambodia", "code": "KH"},
  39. {"name": "Cameroon", "code": "CM"},
  40. {"name": "Canada", "code": "CA"},
  41. {"name": "Cape Verde", "code": "CV"},
  42. {"name": "Cayman Islands", "code": "KY"},
  43. {"name": "Central African Republic", "code": "CF"},
  44. {"name": "Chad", "code": "TD"},
  45. {"name": "Chile", "code": "CL"},
  46. {"name": "China", "code": "CN"},
  47. {"name": "Christmas Island", "code": "CX"},
  48. {"name": "Cocos (Keeling) Islands", "code": "CC"},
  49. {"name": "Colombia", "code": "CO"},
  50. {"name": "Comoros", "code": "KM"},
  51. {"name": "Congo", "code": "CG"},
  52. {"name": "Congo, The Democratic Republic of the", "code": "CD"},
  53. {"name": "Cook Islands", "code": "CK"},
  54. {"name": "Costa Rica", "code": "CR"},
  55. {"name": "Cote D\"Ivoire", "code": "CI"},
  56. {"name": "Croatia", "code": "HR"},
  57. {"name": "Cuba", "code": "CU"},
  58. {"name": "Cyprus", "code": "CY"},
  59. {"name": "Czech Republic", "code": "CZ"},
  60. {"name": "Denmark", "code": "DK"},
  61. {"name": "Djibouti", "code": "DJ"},
  62. {"name": "Dominica", "code": "DM"},
  63. {"name": "Dominican Republic", "code": "DO"},
  64. {"name": "Ecuador", "code": "EC"},
  65. {"name": "Egypt", "code": "EG"},
  66. {"name": "El Salvador", "code": "SV"},
  67. {"name": "Equatorial Guinea", "code": "GQ"},
  68. {"name": "Eritrea", "code": "ER"},
  69. {"name": "Estonia", "code": "EE"},
  70. {"name": "Ethiopia", "code": "ET"},
  71. {"name": "Falkland Islands (Malvinas)", "code": "FK"},
  72. {"name": "Faroe Islands", "code": "FO"},
  73. {"name": "Fiji", "code": "FJ"},
  74. {"name": "Finland", "code": "FI"},
  75. {"name": "France", "code": "FR"},
  76. {"name": "French Guiana", "code": "GF"},
  77. {"name": "French Polynesia", "code": "PF"},
  78. {"name": "French Southern Territories", "code": "TF"},
  79. {"name": "Gabon", "code": "GA"},
  80. {"name": "Gambia", "code": "GM"},
  81. {"name": "Georgia", "code": "GE"},
  82. {"name": "Germany", "code": "DE"},
  83. {"name": "Ghana", "code": "GH"},
  84. {"name": "Gibraltar", "code": "GI"},
  85. {"name": "Greece", "code": "GR"},
  86. {"name": "Greenland", "code": "GL"},
  87. {"name": "Grenada", "code": "GD"},
  88. {"name": "Guadeloupe", "code": "GP"},
  89. {"name": "Guam", "code": "GU"},
  90. {"name": "Guatemala", "code": "GT"},
  91. {"name": "Guernsey", "code": "GG"},
  92. {"name": "Guinea", "code": "GN"},
  93. {"name": "Guinea-Bissau", "code": "GW"},
  94. {"name": "Guyana", "code": "GY"},
  95. {"name": "Haiti", "code": "HT"},
  96. {"name": "Heard Island and Mcdonald Islands", "code": "HM"},
  97. {"name": "Holy See (Vatican City State)", "code": "VA"},
  98. {"name": "Honduras", "code": "HN"},
  99. {"name": "Hong Kong", "code": "HK"},
  100. {"name": "Hungary", "code": "HU"},
  101. {"name": "Iceland", "code": "IS"},
  102. {"name": "India", "code": "IN"},
  103. {"name": "Indonesia", "code": "ID"},
  104. {"name": "Iran, Islamic Republic Of", "code": "IR"},
  105. {"name": "Iraq", "code": "IQ"},
  106. {"name": "Ireland", "code": "IE"},
  107. {"name": "Isle of Man", "code": "IM"},
  108. {"name": "Israel", "code": "IL"},
  109. {"name": "Italy", "code": "IT"},
  110. {"name": "Jamaica", "code": "JM"},
  111. {"name": "Japan", "code": "JP"},
  112. {"name": "Jersey", "code": "JE"},
  113. {"name": "Jordan", "code": "JO"},
  114. {"name": "Kazakhstan", "code": "KZ"},
  115. {"name": "Kenya", "code": "KE"},
  116. {"name": "Kiribati", "code": "KI"},
  117. {"name": "Korea, Democratic People\"S Republic of", "code": "KP"},
  118. {"name": "Korea, Republic of", "code": "KR"},
  119. {"name": "Kuwait", "code": "KW"},
  120. {"name": "Kyrgyzstan", "code": "KG"},
  121. {"name": "Lao People\"S Democratic Republic", "code": "LA"},
  122. {"name": "Latvia", "code": "LV"},
  123. {"name": "Lebanon", "code": "LB"},
  124. {"name": "Lesotho", "code": "LS"},
  125. {"name": "Liberia", "code": "LR"},
  126. {"name": "Libyan Arab Jamahiriya", "code": "LY"},
  127. {"name": "Liechtenstein", "code": "LI"},
  128. {"name": "Lithuania", "code": "LT"},
  129. {"name": "Luxembourg", "code": "LU"},
  130. {"name": "Macao", "code": "MO"},
  131. {"name": "Macedonia, The Former Yugoslav Republic of", "code": "MK"},
  132. {"name": "Madagascar", "code": "MG"},
  133. {"name": "Malawi", "code": "MW"},
  134. {"name": "Malaysia", "code": "MY"},
  135. {"name": "Maldives", "code": "MV"},
  136. {"name": "Mali", "code": "ML"},
  137. {"name": "Malta", "code": "MT"},
  138. {"name": "Marshall Islands", "code": "MH"},
  139. {"name": "Martinique", "code": "MQ"},
  140. {"name": "Mauritania", "code": "MR"},
  141. {"name": "Mauritius", "code": "MU"},
  142. {"name": "Mayotte", "code": "YT"},
  143. {"name": "Mexico", "code": "MX"},
  144. {"name": "Micronesia, Federated States of", "code": "FM"},
  145. {"name": "Moldova, Republic of", "code": "MD"},
  146. {"name": "Monaco", "code": "MC"},
  147. {"name": "Mongolia", "code": "MN"},
  148. {"name": "Montserrat", "code": "MS"},
  149. {"name": "Morocco", "code": "MA"},
  150. {"name": "Mozambique", "code": "MZ"},
  151. {"name": "Myanmar", "code": "MM"},
  152. {"name": "Namibia", "code": "NA"},
  153. {"name": "Nauru", "code": "NR"},
  154. {"name": "Nepal", "code": "NP"},
  155. {"name": "Netherlands", "code": "NL"},
  156. {"name": "Netherlands Antilles", "code": "AN"},
  157. {"name": "New Caledonia", "code": "NC"},
  158. {"name": "New Zealand", "code": "NZ"},
  159. {"name": "Nicaragua", "code": "NI"},
  160. {"name": "Niger", "code": "NE"},
  161. {"name": "Nigeria", "code": "NG"},
  162. {"name": "Niue", "code": "NU"},
  163. {"name": "Norfolk Island", "code": "NF"},
  164. {"name": "Northern Mariana Islands", "code": "MP"},
  165. {"name": "Norway", "code": "NO"},
  166. {"name": "Oman", "code": "OM"},
  167. {"name": "Pakistan", "code": "PK"},
  168. {"name": "Palau", "code": "PW"},
  169. {"name": "Palestinian Territory, Occupied", "code": "PS"},
  170. {"name": "Panama", "code": "PA"},
  171. {"name": "Papua New Guinea", "code": "PG"},
  172. {"name": "Paraguay", "code": "PY"},
  173. {"name": "Peru", "code": "PE"},
  174. {"name": "Philippines", "code": "PH"},
  175. {"name": "Pitcairn", "code": "PN"},
  176. {"name": "Poland", "code": "PL"},
  177. {"name": "Portugal", "code": "PT"},
  178. {"name": "Puerto Rico", "code": "PR"},
  179. {"name": "Qatar", "code": "QA"},
  180. {"name": "Reunion", "code": "RE"},
  181. {"name": "Romania", "code": "RO"},
  182. {"name": "Russian Federation", "code": "RU"},
  183. {"name": "RWANDA", "code": "RW"},
  184. {"name": "Saint Helena", "code": "SH"},
  185. {"name": "Saint Kitts and Nevis", "code": "KN"},
  186. {"name": "Saint Lucia", "code": "LC"},
  187. {"name": "Saint Pierre and Miquelon", "code": "PM"},
  188. {"name": "Saint Vincent and the Grenadines", "code": "VC"},
  189. {"name": "Samoa", "code": "WS"},
  190. {"name": "San Marino", "code": "SM"},
  191. {"name": "Sao Tome and Principe", "code": "ST"},
  192. {"name": "Saudi Arabia", "code": "SA"},
  193. {"name": "Senegal", "code": "SN"},
  194. {"name": "Serbia and Montenegro", "code": "CS"},
  195. {"name": "Seychelles", "code": "SC"},
  196. {"name": "Sierra Leone", "code": "SL"},
  197. {"name": "Singapore", "code": "SG"},
  198. {"name": "Slovakia", "code": "SK"},
  199. {"name": "Slovenia", "code": "SI"},
  200. {"name": "Solomon Islands", "code": "SB"},
  201. {"name": "Somalia", "code": "SO"},
  202. {"name": "South Africa", "code": "ZA"},
  203. {"name": "South Georgia and the South Sandwich Islands", "code": "GS"},
  204. {"name": "Spain", "code": "ES"},
  205. {"name": "Sri Lanka", "code": "LK"},
  206. {"name": "Sudan", "code": "SD"},
  207. {"name": "Suriname", "code": "SR"},
  208. {"name": "Svalbard and Jan Mayen", "code": "SJ"},
  209. {"name": "Swaziland", "code": "SZ"},
  210. {"name": "Sweden", "code": "SE"},
  211. {"name": "Switzerland", "code": "CH"},
  212. {"name": "Syrian Arab Republic", "code": "SY"},
  213. {"name": "Taiwan", "code": "TW"},
  214. {"name": "Tajikistan", "code": "TJ"},
  215. {"name": "Tanzania, United Republic of", "code": "TZ"},
  216. {"name": "Thailand", "code": "TH"},
  217. {"name": "Timor-Leste", "code": "TL"},
  218. {"name": "Togo", "code": "TG"},
  219. {"name": "Tokelau", "code": "TK"},
  220. {"name": "Tonga", "code": "TO"},
  221. {"name": "Trinidad and Tobago", "code": "TT"},
  222. {"name": "Tunisia", "code": "TN"},
  223. {"name": "Turkey", "code": "TR"},
  224. {"name": "Turkmenistan", "code": "TM"},
  225. {"name": "Turks and Caicos Islands", "code": "TC"},
  226. {"name": "Tuvalu", "code": "TV"},
  227. {"name": "Uganda", "code": "UG"},
  228. {"name": "Ukraine", "code": "UA"},
  229. {"name": "United Arab Emirates", "code": "AE"},
  230. {"name": "United Kingdom", "code": "GB"},
  231. {"name": "United States", "code": "US"},
  232. {"name": "United States Minor Outlying Islands", "code": "UM"},
  233. {"name": "Uruguay", "code": "UY"},
  234. {"name": "Uzbekistan", "code": "UZ"},
  235. {"name": "Vanuatu", "code": "VU"},
  236. {"name": "Venezuela", "code": "VE"},
  237. {"name": "Viet Nam", "code": "VN"},
  238. {"name": "Virgin Islands, British", "code": "VG"},
  239. {"name": "Virgin Islands, U.S.", "code": "VI"},
  240. {"name": "Wallis and Futuna", "code": "WF"},
  241. {"name": "Western Sahara", "code": "EH"},
  242. {"name": "Yemen", "code": "YE"},
  243. {"name": "Zambia", "code": "ZM"},
  244. {"name": "Zimbabwe", "code": "ZW"}
  245. ]