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;
}

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 4 个月前
8c391e04 7 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐