当前位置:   article > 正文

读取JSON字符串中的一维、二维数组数据_json解析一维数组

json解析一维数组
  1. import org.json.JSONArray;
  2. import org.json.JSONException;
  3. import org.json.JSONObject;
  4. //从文件中读取数据创建JSON字符串 对象filePath = "levels/data1.txt"
  5. public JSONObject createJSON(Context context, String filePath)
  6. {
  7. JSONObject json = null;
  8. try
  9. {
  10. InputStream fileIn = context.getAssets().open(filePath);
  11. byte[] tmp = new byte[fileIn.available()];
  12. fileIn.read(tmp);
  13. String data = new String(tmp, "UTF-8");
  14. fileIn.close();
  15. json = new JSONObject(data);
  16. }
  17. catch (Exception e)
  18. {
  19. e.printStackTrace();
  20. }
  21. return json;
  22. }
  23. //从json中, 读取属性名为str的数据, 到一维数组Data中
  24. public int[] readOneDimensionDataInt(JSONObject json, String str)
  25. {
  26. int[] Data = null;
  27. try
  28. {
  29. boolean b = json.has(str);
  30. if(json.has(str))
  31. {
  32. JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的一维数组
  33. Data = new int[Array1.length()]; //创建数组
  34. for(int j = 0; j < Array1.length(); j ++)
  35. Data[j] = Array1.getInt(j); //获取一维数组中的数据
  36. }
  37. }
  38. catch (JSONException e)
  39. {
  40. e.printStackTrace();
  41. }
  42. return Data;
  43. }
  44. //从json中, 读取属性名为str的数据, 到二维数组Data中
  45. public int[][] readTwoDimensionDataInt(JSONObject json, String str)
  46. {
  47. int[][] Data = null;
  48. try
  49. {
  50. if(json.has(str))
  51. {
  52. JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
  53. Data = new int[Array1.length()][];
  54. for(int i = 0; i < Array1.length(); i ++)
  55. {
  56. JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
  57. Data[i] = new int[Array2.length()];
  58. for(int j = 0; j < Array2.length(); j ++)
  59. Data[i][j] = Array2.getInt(j); //获取一维数组中的数据
  60. }
  61. }
  62. }
  63. catch (JSONException e)
  64. {
  65. e.printStackTrace();
  66. }
  67. return Data;
  68. }
  69. //从json中, 读取属性名为str的数据, 到二维数组Data中
  70. public double[][] readTwoDimensionData(JSONObject json, String str)
  71. {
  72. double[][] Data = null;
  73. try
  74. {
  75. if(json.has(str))
  76. {
  77. JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
  78. Data = new double[Array1.length()][];
  79. for(int i = 0; i < Array1.length(); i ++)
  80. {
  81. JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
  82. Data[i] = new double[Array2.length()];
  83. for(int j = 0; j < Array2.length(); j ++)
  84. Data[i][j] = Array2.getDouble(j); //获取一维数组中的数据
  85. }
  86. }
  87. }
  88. catch (JSONException e)
  89. {
  90. e.printStackTrace();
  91. }
  92. return Data;
  93. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/456330
推荐阅读
相关标签
  

闽ICP备14008679号