赞
踩
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- //从文件中读取数据创建JSON字符串 对象filePath = "levels/data1.txt"
- public JSONObject createJSON(Context context, String filePath)
- {
- JSONObject json = null;
-
- try
- {
- InputStream fileIn = context.getAssets().open(filePath);
- byte[] tmp = new byte[fileIn.available()];
- fileIn.read(tmp);
- String data = new String(tmp, "UTF-8");
- fileIn.close();
-
- json = new JSONObject(data);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
-
- return json;
- }
- //从json中, 读取属性名为str的数据, 到一维数组Data中
- public int[] readOneDimensionDataInt(JSONObject json, String str)
- {
- int[] Data = null;
- try
- {
- boolean b = json.has(str);
- if(json.has(str))
- {
- JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的一维数组
- Data = new int[Array1.length()]; //创建数组
-
- for(int j = 0; j < Array1.length(); j ++)
- Data[j] = Array1.getInt(j); //获取一维数组中的数据
- }
- }
- catch (JSONException e)
- {
- e.printStackTrace();
- }
- return Data;
- }
- //从json中, 读取属性名为str的数据, 到二维数组Data中
- public int[][] readTwoDimensionDataInt(JSONObject json, String str)
- {
- int[][] Data = null;
- try
- {
- if(json.has(str))
- {
- JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
-
- Data = new int[Array1.length()][];
- for(int i = 0; i < Array1.length(); i ++)
- {
- JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
-
- Data[i] = new int[Array2.length()];
- for(int j = 0; j < Array2.length(); j ++)
- Data[i][j] = Array2.getInt(j); //获取一维数组中的数据
- }
- }
- }
- catch (JSONException e)
- {
- e.printStackTrace();
- }
- return Data;
- }
- //从json中, 读取属性名为str的数据, 到二维数组Data中
- public double[][] readTwoDimensionData(JSONObject json, String str)
- {
- double[][] Data = null;
- try
- {
- if(json.has(str))
- {
- JSONArray Array1 = json.getJSONArray(str); //获取属性名对应的二维数组
-
- Data = new double[Array1.length()][];
- for(int i = 0; i < Array1.length(); i ++)
- {
- JSONArray Array2 = Array1.getJSONArray(i); //获取一维数组
-
- Data[i] = new double[Array2.length()];
- for(int j = 0; j < Array2.length(); j ++)
- Data[i][j] = Array2.getDouble(j); //获取一维数组中的数据
- }
- }
- }
- catch (JSONException e)
- {
- e.printStackTrace();
- }
- return Data;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。